element ui 中的popover组件在table列表中使用的bug

bug场景:



在列表数据中使用,点击对应的查看按钮,每一页的最后一个无法正确弹出这个红色框,别的都是正常的。

查看代码:

      <el-table-column label="我的优惠券" prop="Coupon">
        <template slot-scope="scope">
          <el-popover ref="popover3" placement="right" width="500" trigger="click">
            <el-table :data="CouponList">
              <el-table-column width="100" property="Coupon" label="券名"></el-table-column>
              <el-table-column width="150" property="full" label="满多少减多少"></el-table-column>
              <el-table-column width="250" property="data" label="有效期"></el-table-column>
            </el-table>
          </el-popover>
          <span v-popover:popover3 @click="couponClick(scope.$index, scope.row)">{{ scope.row.Coupon.length>0?"点击查看":"无" }}</span>
        </template>
      </el-table-column>

发现每一个popover都是通过ref来关联的,这样导致同一个ref值对应多个数据,如何避免的?

想到了每次循环的时候拿index索引值进行修改popover3的值:

v-popover:popover3+scope.$index

然后就抱了一大堆错;于是乎去官网查了查反馈建议,发现原来不只是我一个人遇到的问题,于是乎代码改为以下:

        <template slot-scope="scope">
          <el-popover ref="popover3" placement="right" width="500" trigger="click">
            <el-table :data="CouponList">
              <el-table-column width="100" property="Coupon" label="券名"></el-table-column>
              <el-table-column width="150" property="full" label="满多少减多少"></el-table-column>
              <el-table-column width="250" property="data" label="有效期"></el-table-column>
            </el-table>
            <span slot="reference" @click="couponClick(scope.$index, scope.row)">{{ scope.row.Coupon.length>0?"点击查看":"无" }}</span>
          </el-popover>
        </template>

<span slot="reference">点击查看</span>

结果bug完美修复。


下面是效果图


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值