elementUI select,option变化,如果option不存在上次的选项,自动清空上次的选择

select,option变化,如果option不存在上次的选项,自动清空上次的选择

javascript 复制代码
<script src="//unpkg.com/vue@2/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.15.14/lib/index.js"></script>
<div id="app">
<template>
  <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in arr"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  <el-button @click="fun">fun</el-button>
  <el-button @click="fun2">fun2</el-button>
  <el-button @click="fun3">fun3</el-button>
  <el-button @click="fun4">fun4</el-button>
</template>
</div>

var Main = {
    data() {
      return {
        arr:[],
        options: [{value: '黄金糕',label: '黄金糕'}, {
          value: '双皮奶',label: '双皮奶'}, {
          value: '蚵仔煎',label: '蚵仔煎'}],
        options2: [{value: '黄金糕2',label: '黄金糕2'}, {
          value: '双皮奶2',label: '双皮奶2'}, {
          value: '蚵仔煎2',label: '蚵仔煎2'} ,{
          value: '蚵仔煎',label: '蚵仔煎'}],
        value: ''//
      }
    },
    methods:{
      fun(){
        this.arr= this.options
      },
      fun2(){
        this.arr=this.options2
      },
      fun3(){ this.arr=[]},
      fun4(){ alert(this.value)}
    },
    watch:{
      arr(val){
        let data=val.find(i=>i.value==this.value)
        if(!data)this.value=''
      }
    }
  }
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
相关推荐
北城笑笑几秒前
Vue 104 ,AI + ECharts + Word:大模型数据可视化报告生成实战(前端导出图文并茂 Word 文档)
前端·vue.js·word·echarts
创新技术阁7 分钟前
FastapiAdmin 实战:二次开发前的准备(环境配置与项目启动)
前端·后端·fastapi
志尊宝25 分钟前
Vue3 零基础每日笔记(010):watchEffect——用到谁就自动听谁的“懒人侦听器“
前端·vue.js·笔记
狗哥哥30 分钟前
从“看对方向”到“做出行动”:投资决策卡
前端
拖孩35 分钟前
一个人 + AI 做的小程序,一个月赚了 36 块
前端·后端·微信小程序
weixin_4407305043 分钟前
playwright实战-渠道应用操作
开发语言·前端·python
lhldsg1 小时前
从零构建智慧场馆解决方案小程序:开发全流程实战
java·前端·小程序
IMPYLH1 小时前
HTML 的 <rp> 元素
前端·javascript·html
晴天161 小时前
npm install -f(--force)深度解析:作用原理、报错根源与风险避坑指南
前端·npm·node.js
IT_陈寒1 小时前
React的状态更新竟然不是同步的?!坑了我一整天
前端·人工智能·后端