el-select关于@blur失去焦点的坑

今天使用el-select的@blur方法,发现第一次选择失去焦点后,没获取到选择的值(e.target.value)

解决方法:

1 采用计时器

<el-select v-model="scope.row.targetId" 
                  :disabled="disabled" 
                  clearable 
                  placeholder="请选择"
                  filterable
                  automatic-dropdown
                  @blur="blurSelect">
                  <el-option v-for="(item,index) in fileType"
                    :key="index"
                    :label="item.name"
                    :value="item.targetId" />
                </el-select>
// el-select失去焦点必填校验
    blurSelect(e) {
      setTimeout(()=> {
        if(!e.target.value) {
          this.$message.warning('请选择必填项!')
        }
      },1000)
    },

2 采用focus来获取blur

<el-select
          v-model="scope.row.targetId"
          ref="fuzzySearch"
          multiple
          placeholder="请选择"
          filterable
          automatic-dropdown
          @focus="focusSelectValue"
        >
          <el-option v-for="(item,index) in fileType"
                    :key="index"
                    :label="item.name"
                    :value="item.targetId" />
        </el-select>
focusSelectValue() {
        console.log(this.$refs.fuzzySearch);
        this.$refs.fuzzySearch.$refs.input.blur = () => {
          console.log(this.$refs.fuzzySearch.$refs.input.value);
        };
      },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值