element table默认全选,可选择全不选

  • 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:'请至少选择一个运维设备'
     })
   }
 },
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容