element表格实现单选框

利用checkbox来实现表格单选,思路就是将checkbox的值绑定到当前行mainFlag,定义checkbox的change事件,每当值改变时将上次选中的行数据mainFlag改给false

html 复制代码
 <template>
    <el-table
      :data="tableData"
      style="width: 100%">
      <el-table-column label="单选项" width="50">
            <template slot-scope="scope" >
              <el-checkbox 
              @change="handleChangeMain( scope.row,scope.$index)" 
              v-model="scope.row.mainFlag" >
              </el-checkbox>
            </template>
          </el-table-column>
      <el-table-column
        prop="date"
        label="日期"
        width="180">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
      <el-table-column
        prop="address"
        label="地址">
      </el-table-column>
    </el-table>
  </template>

data中定义mainPetionIndex用来记录上一次选择的下标

javascript 复制代码
 handleChangeMain(row,index){
      if(row.mainFlag){
        if(this.mainPetionIndex != -1){
          console.log('mainPetionIndex', this.mainPetionIndex)
          this.tableData[this.mainPetionIndex].mainFlag = false
        }
        this.mainPetionIndex = index;
      }else{
        this.mainPetionIndex=-1;
      }
    },
相关推荐
李剑一几秒前
我做了个微信聊天模拟器,已开源
前端
励志的小陈1 分钟前
数据结构--队列(C语言实现)
c语言·开发语言·数据结构
mjhcsp7 分钟前
C++信息论超详解析
开发语言·c++
yusirxiaer9 分钟前
为什么 markRaw 能修复 Vue 3 + ECharts 的 resize 报错
javascript·vue.js·echarts
無限進步D12 分钟前
Java 基础算法训练
java·开发语言·算法·入门
map1e_zjc15 分钟前
Java SpringBoot学习记录(4)
java·开发语言·学习
小毛驴85019 分钟前
多线程同步打标记的几种实现方案
java·开发语言·python
Mr_Xuhhh19 分钟前
递归之美:合并两个有序链表的优雅解法
java·开发语言
代码搬运媛21 分钟前
30分钟带你从0手搓一个AI-Cli命令行工具
前端
bluebonnet2722 分钟前
【Python】一些PEP提案(五):注解的延迟求值
开发语言·python