element-ui select选择器使用

之前使用饿了么select组件时,都是直接把v-model的值和options的选项值绑定起来,但是获取当前选项的一些数据时,都是需要当前选项的id来调用接口,获取对应数据。所以这样做还必须给select绑定change事件,选项改变,再通过v-model的值去选项数组中比对获取当前值的id,再去调用接口。如下:

var vm = new Vue({
    el: "#app",
    data: {
        options: [
        {
          id: 0,
          name: "未知",
          color: ""
        },
        {
          id: 1,
          name: "准确",
          color: "right"
        },
        {
          id: 2,
          name: "不准确",
          color: "error"
        }
      ],
      value: "",
    },
    methods: {
        selectChange(){
            this.options.forEach(item=>{
                if(this.value === item.name)
                    this.id = item.id
            })
        }
    }
})
      <el-select
        v-model="value"
          class="entity-name-input"
          placeholder="请选择"
          @change="selectChange"
        >
          <el-option
            v-for="item in options"
            :key="item.id"
            :value="item.name"
          >
            <i class="icon-status" :class="item.color"></i>
            <span>{{ item.name }}</span>
          </el-option>
        </el-select>

显然这样做是多此一举了,因为还有一个更方便的方法。可以通过给select组件的label绑定name值,然后给组件的value绑定id值,这样select组件就可以自动展示选取的值,又可以通过v-model直接获取当前值的id。当要展示某个默认选项值时,只要给v-model设置一个固定的id值,就可以直接展示这个id值对应的name值了(注意:v-model的值类型需要与options选项id的值类型保持一致才可以)。

如下:

        <el-select
          v-model="value"
          class="entity-name-input"
          placeholder="请选择"
        >
          <el-option
            v-for="item in options"
            :key="item.id"
            :label="item.name"
            :value="item.id"
          >
            <i class="icon-status" :class="item.color"></i>
            <span>{{ item.name }}</span>
          </el-option>
        </el-select>

效果:

这样就可以直接通过value获取到选项id值了,不需要再绑定change事件。哎,以前多走弯路了,在此记录下。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值