- row-key 行数据的 Key,用来优化 Table 的渲染
- selection-change 当选择项发生变化时会触发该事件
- reserve-selection 仅对 type=selection 的列有效,类型为 Boolean,为 true 则会在数据更新之后保留之前选中的数据(需指定 row-key)
-
toggleRowSelection 用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中)
<el-radio-group
v-model="radio"
class="tips_radio"
@change="radioChange"
>
<el-radio :label="true">全选</el-radio>
<el-radio :label="false">非全选</el-radio>
</el-radio-group>
<el-table
ref="multipleTable2"
:data="tableRow"
tooltip-effect="dark"
border
style="width: 100%"
:row-key="getOpenKey"
@selection-change="changeFunOpen"
>
<el-table-column
type="selection"
width="55"
:reserve-selection="true"
>
</el-table-column>
</el-table>
// 表格列表
getAssets() {
getAsset({})
.then((res) => {
this.tableRow = res.data
// 默认全选
this.$nextTick(() => {
for (let i = 0; i < this.tableRow.length; i++) {
this.$refs.multipleTable2.toggleRowSelection(
this.tableRow[i],
true
)
}
})
})
.catch((err) => {
console.log(err)
})
},
// 全选
radioChange(val) {
if (val == false) {
this.$refs.multipleTable2.clearSelection()
} else {
// 默认全选
this.$nextTick(() => {
for (let i = 0; i < this.tableRow.length; i++) {
this.$refs.multipleTable2.toggleRowSelection(this.tableRow[i], true)
}
})
}
},
// 指定一个key标识这一行的数据
getOpenKey(row) {
return row.id
},
// 获取勾选
changeFunOpen(val) {
this.checkOpen = []
this.checkOpen = val
},
// 确定
operationOk() {
if(this.checkOpen.length != 0){
this.$router.push({ path: '/net' })
}else{
this.$message({
type:'error',
message:'请至少选择一个运维设备'
})
}
},