【el-select】关于el-option的事件

开发过程中需要实现一个el-option的hover显示后置按钮的需求,发现el-option直接使用mouseover/mouseleave事件均不能触发

解决方案为

<el-select
   v-model="importForm.templateCode"
    placeholder="请选择"
    class="w-500px template-select"
    @visible-change="visibleChange"
  >
    <el-option
      v-for="(item, index) in templateList"
      :key="index"
      :label="item.templateName"
      :value="item.templateCode"
      :disable-remote="false"
      @mouseenter.native="optionMouseOver(index)"
    >
      <span style="float: left">{{ item.templateName }}</span>
      <span
        style="float: right"
        class="t-blue"
        :style="
          index === optionHoverIndex ? 'display:block' : 'display:none'
        "
      >
        <span v-if="!item.isDefault" @click.stop="setTempDefault(item)"
          >设为默认</span
        >
        <span v-else>已默认</span>
      </span>
    </el-option>
  </el-select>

1.设置:disable-remote=“false” 来启用el-option的鼠标事件
2.利用 @mouseenter.native="optionMouseOver(index)" 来存储选中的行
3.在el-select的change事件后,因为,mouseleave事件的原因,this.optionHoverIndex 会发生变化,故使用visible-change事件来初始化 this.optionHoverIndex
4.注意 .stop.native的搭配使用

初始效果
在这里插入图片描述

hover效果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值