iviewUI Table里面Columns的this指向不是vue的问题

本文介绍如何在Element UI的Table组件中使用slot-scope特性,实现动态调整表格列内容的功能,例如通过下拉选择器改变行数据的排序。文章提供了具体的代码示例。

1.需求:操作某列中需要调用方法来实现功能

2.应用场景:一般常见于列中是控件(如:selecte下拉框,input输入框)

3.解决思路 :使用 Table中 从 3.2.0 版本开始支持 slot-scope 写法。

在 columns 的某列声明 slot 后,就可以在 Table 的 slot 中使用 slot-scope。

slot-scope 的参数有 3 个:当前行数据 row,当前列数据 column,当前行序号 index。

举个例子:

Columns: [
        { title: '序号', type: 'index' },
        { title: '套餐ID', key: 'package_id', width: 100 },
        { title: '套餐名称', key: 'package_name', width: 150 },
        {
          title: '套餐面值',
          key: 'amount',
          width: 100
        },
        {
          title: '排序',
          slot: 'order_no'
        },
        {
          title: '操作',
          key: 'handle',
          slot: 'operate'
        }
]

点击并拖拽以移动

然后在

里面写template模板 ,在里面进行@on-change="getPackageNum(index, $event)" 方法的调用

如下代码:

<Table
     border
     :columns="packageColumns"
     :data="packageListTab"
     max-height="300">
   <template slot-scope="{ row, index }" slot="order_no">
    <Select transfer 
        :value="Number(row.order_no)" 
        :disabled="paramsObj.status == 1"
        @on-change="getPackageNum(index, $event)"  placeholder="请选择排序">
      <Option v-for="val in 10" :value="val" :key="val">{{val}}</Option>
    </Select>
   </template>
</Table>

点击并拖拽以移动

OK,收工!如果可以实现记得点赞分享,谢谢老铁~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端加油站

你遇到的坑将由我来踩

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值