关于elementUI多选框select、穿梭框transfer等组件的v-model值

论坛 期权论坛 脚本     
匿名技术用户   2021-1-3 00:53   11   0

最近在学习多选框等组件时,发现从数据库中读出的值赋给v-model,没法在框中显示 。

其实,是赋值与v-model要求数据类型不同的原因。

多选框select举例:

<template>
  <el-select v-model="value1" multiple placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
</template>
<script>
  export default {
    data() {
      return {
        options: [{
          value: '选项1',
          label: '黄金糕'
        }, {
          value: '选项2',
          label: '双皮奶'
        }, {
          value: '选项3',
          label: '蚵仔煎'
        }, {
          value: '选项4',
          label: '龙须面'
        }, {
          value: '选项5',
          label: '北京烤鸭'
        }],
        value1: []
      }
    }
  }
</script>

对于多选框来说,v-model的值是一个数组。而下拉框选项options也是一个数组,没有深究之下,我就认为v-model只是options的一个子集,从数据库中读出的数据值与options数据格式一样,但是频频报错,得不到想要的显示。

正解:其实,赋给v-model的值应该是所选的options的value值的一个数组,类似:

['选项1', '选项2', '选项3','选项4','选项5']

不求甚解之过,写于此,谨记!

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP