element-UI 的table表格數據有提供多項框的功能,只要在表格列中多加一列就可以選擇表格的數據
但是有時候表格的數據是有分頁的,分頁一般是要重新請求后台數據,這樣上一頁也就是上一次請求的數據的選中狀態就沒有了.element提供了reserve-selection可以保存數據更新前選中的值,這個屬性還需要指定row-key.
先看下頁面的效果:
注意事項:
具體看代碼:
<el-table
:data="tableData6"
:row-key="getRowKey"
ref="buyerTable"
height="300"
@selection-change="handleSelectionChange"
border
style="width: 100%">
<el-table-column
type="selection"
:reserve-selection="true"
width="55">
</el-table-column>
<el-table-column
prop="id"
label="ID"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="姓名">
</el-table-column>
<el-table-column
prop="amount1"
sortable
label="數值 1">
</el-table-column>
<el-table-column
prop="amount2"
sortable
label="數值 2">
</el-table-column>
<el-table-column
prop="amount3"
sortable
label="數值 3">
</el-table-column>
</el-table>
<el-pagination
@size-change="handleBuyerSizeChange"
@current-change="handleBuyerCurrentChange"
:current-page="currentBuyerPage"
:page-sizes="[5, 10, 15, 20]"
:page-size="buyerPageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="buyerTotalCount">
</el-pagination>
js代碼:
methods: {
// 保存選中的數據id,row-key就是要指定一個key標識這一行的數據
getRowKey (row) {
return row.id
},
// 列表選擇,val選中的表格行數據
handleSelectionChange (val) {
console.log(val)
},
// 清空選擇的值
clearSelect () {
this.$refs.buyerTable.clearSelection()
}
}

