element table多选表格_vue + element-ui Table 的数据多选 多页选择数据回显,分页记录保存选中的数据...

答案

2020-03-30更新【解决思路】

1、翻页回显:在type="selection"列设置 :reserve-selection="true"。

同时在里设置:row-key属性。

.

.

.

ref="multipleTable"

:row-key="getRowKeys"

@selection-change="handleSelectionChange"

.

.

.

type="selection"

:reserve-selection="true"

width="40">

2、选中的数据删除同时原表格里的选中状态也更新。这个可以理解为删除选中数据后是对原表格设置默认选中功能。

toggleRowSelect(rows) {

const _this = this

if (rows.length > 0) {

this.$nextTick(() => {

rows.forEach(row => {

_this.$refs.multipleTable.toggleRowSelection(row, true)

})

})

} else {

this.$refs.multipleTable.clearSelection()

}

},

这里要注意一点的是在执行this.toggleRowSelect(selecetData)时,要对表格进行刷新一下,不然删除之后的选中状态无法更新。可以在增加一个v-if刷新的判断

【2018-07-20】

用element-ui table里这个参数

reserve-selection -->仅对 type=selection 的列有效,类型为 Boolean,为 true 则代表会保留之前数据的选项,需要配合 Table 的 clearSelection 方法使用。

配合row-key -->行数据的 Key,用来优化 Table 的渲染;在使用 reserve-selection 功能的情况下,该属性是必填的。类型为 String 时,支持多层访问:user.info.id,但不支持 user.info[0].id,此种情况请使用 Function。

ref="multipleTable"

:data="orderTable"

:row-key="getRowKeys"

@selection-change="handleSelectionChange">

data:function(){

return{

// 获取row的key值

getRowKeys(row) {

return row.orderid;

},

}

}

methods:

//选择筹款订单

handleSelectionChange(rows) {

this.multipleSelection = rows;

this.select_order_number = this.multipleSelection.length;

this.select_orderId = [];

if (rows) {

rows.forEach(row => {

if (row) {

this.select_orderId.push(row.orderid);

}

});

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值