<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>
相关推荐
PineappleCoder2 小时前
性能数据别再瞎轮询了!PerformanceObserver 异步捕获 LCP/CLS,不卡主线程
前端·性能优化
PineappleCoder2 小时前
告别字体闪烁 / 首屏卡顿!preload 让关键资源 “高优先级” 提前到
前端·性能优化
m0_471199633 小时前
【vue】通俗详解package-lock文件的作用
前端·javascript·vue.js
GIS之路3 小时前
GDAL 读取KML数据
前端
今天不要写bug3 小时前
vue项目基于vue-cropper实现图片裁剪与图片压缩
前端·javascript·vue.js·typescript
用户47949283569154 小时前
记住这张时间线图,你再也不会乱用 useEffect / useLayoutEffect
前端·react.js
汝生淮南吾在北4 小时前
SpringBoot+Vue养老院管理系统
vue.js·spring boot·后端·毕业设计·毕设
咬人喵喵4 小时前
14 类圣诞核心 SVG 交互方案拆解(附案例 + 资源)
开发语言·前端·javascript
问君能有几多愁~4 小时前
C++ 日志实现
java·前端·c++