<el-select> 当绑定的值在选项中不存在时,不显示其对象的key

若要实现在 el-select 组件中当绑定的值在选项中不存在时,不显示其对象的 key,可以使用 slot-scope 和 v-if 来进行判断。

首先,在 el-select 中添加一个 slot-scope,来访问选项对象和当前选中的值:

<el-select v-model="selectedOption">
  <el-option
    v-for="(option, index) in options"
    :key="option.value"
    :label="option.label"
    :value="option.value"
    :disabled="option.disabled"
  >
    <template slot-scope="{ option }">
      {{ option.label }}
    </template>
  </el-option>
</el-select>

接着,使用一个计算属性来判断当前选中的值是否存在于选项中:

computed: {
  selectedOptionLabel() {
    const option = this.options.find(opt => opt.value === this.selectedOption);
    return option ? option.label : '';
  }
}

最后,在 el-select 中添加一个 v-if 判断,当选中的值存在于选项中时,显示其 label,否则不显示:

<el-select v-model="selectedOption">
  <el-option
    v-for="(option, index) in options"
    :key="option.value"
    :label="option.label"
    :value="option.value"
    :disabled="option.disabled"
  >
    <template slot-scope="{ option }">
      <span v-if="selectedOptionLabel === option.label">
        {{ option.label }}
      </span>
    </template>
  </el-option>
</el-select>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值