<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>
相关推荐
风骏时光牛马17 小时前
AIAgent高可用架构:弹性容错与故障自愈的落地实践
前端
IT_陈寒17 小时前
Vue的响应式什么时候会失灵?这个坑我踩了
前端·人工智能·后端
烟锁池塘柳017 小时前
解决 Firefox 浏览器网页文本选中高亮不明显问题(含仅修改特定网站高亮显示的方案)
前端·firefox
Patrick_Wilson17 小时前
Web 认证方案技术指南
前端·后端·面试
YuJie18 小时前
JSBridge 基础知识
前端·javascript
BigTopOne18 小时前
Ubuntu 虚拟机编译 WebRTC Android AAR(M140 / branch-heads/7339)
前端
默_笙18 小时前
🍕 后端接口还没写好,前端已经跑起来了?Mock 数据 + axios 接口层,前后端再也不互相"等"
前端·javascript
书源18 小时前
AI 时代写给前端同行:什么在贬值,什么在涨价
前端·程序员·ai编程
爱勇宝18 小时前
客户只想看个页面,我却做了一个静态演示发布系统
前端·javascript·后端
渔夫正在掘金18 小时前
告别构建时代:为什么 AI 编程浪潮正让 Vue 与 React 走向落后?
前端