場景描述:
element-ui的table表格數(shù)據(jù)有提供多選框的功能,只要在表格列中多加一列就可以選擇表格的數(shù)據(jù)。但是有時(shí)候表格的數(shù)據(jù)是有分頁的,分頁一般是要重新請求后臺(tái)數(shù)據(jù),這樣上一頁的數(shù)據(jù)的選中狀態(tài)就沒有了。
解決辦法:
element-ui提供了reserve-selection,它僅對 type=selection 的列有效,類型為 Boolean,為 true時(shí)會(huì)在數(shù)據(jù)更新之后記住之前選擇的數(shù)據(jù)。(需要指定row-key)
代碼如下:
<el-table
:data="tableData"
:row-key="getRowKey"
ref="dataTable"
@selection-change="handleSelectionChange"
border>
<el-table-column
type="selection"
:reserve-selection="true">
</el-table-column>
<el-table-column
prop="name"
label="姓名">
</el-table-column>
<el-table-column
prop="phone"
label="手機(jī)號(hào)">
</el-table-column>
</el-table>
methods: {
// 指定一個(gè)key標(biāo)識(shí)這一行的數(shù)據(jù)
getRowKey (row) {
return row.id
},
// val表示選中的表格行數(shù)據(jù)
handleSelectionChange (val) {
console.log(val)
},
}