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

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

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

html 复制代码
<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>

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

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

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

html 复制代码
<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>
相关推荐
yinuo18 小时前
前端跨页面通讯终极指南⑨:IndexedDB 用法全解析
前端
北辰alk18 小时前
Vue 动态路由完全指南:定义与参数获取详解
vue.js
北辰alk19 小时前
Vue Router 完全指南:作用与组件详解
vue.js
北辰alk19 小时前
Vue 中使用 this 的完整指南与注意事项
vue.js
xkxnq19 小时前
第二阶段:Vue 组件化开发(第 16天)
前端·javascript·vue.js
北辰alk19 小时前
Vue 插槽(Slot)完全指南:组件内容分发的艺术
vue.js
烛阴19 小时前
拒绝配置地狱!5 分钟搭建 Three.js + Parcel 完美开发环境
前端·webgl·three.js
北辰alk19 小时前
Vue 组件中访问根实例的完整指南
vue.js
北辰alk19 小时前
Vue Router 中获取路由参数的全面指南
vue.js
北辰alk19 小时前
Vue 的 v-cloak 和 v-pre 指令详解
vue.js