通常在使用的时候,v-model的值为当前被选中的el-option的value属性值,但有些时候我们也需要用到label值,这时我们需要把

:value="item.value"

改成

:value="{ value: item.value, label: item.label}"

添加@change事件

<template>
  <el-select v-model="value" placeholder="请选择" @change="selectProductType">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="{ value: item.value, label: item.label}">
    </el-option>
  </el-select>
</template>

<script>
  export default {
    data() {
      return {
        options: [{
          value: '101',
          label: '接入类产品'
        }, {
          value: '102',
          label: '功能类产品'
        }, {
          value: '103',
          label: '内容类产品'
        }, {
          value: '104',
          label: '资源类产品'
        }, {
          value: '105',
          label: '服务类产品'
        }],
        value: '',
        label: ''
      }
    },
    methods: {
      selectProductType(data){
        // 将data对象解构
        const { value, label } = data;
        this.label = label;
        this.value = value;
      }
    }
  }
</script>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐