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;
      }
    },
相关推荐
baozj几秒前
一次表单数据复用引发的 Bug:理解 Vue 中的 data 为何是函数
前端·javascript·vue.js
LRH2 分钟前
JS基础 - instanceof 理解及手写
前端·javascript
leefirm3 分钟前
node 切换版本,每次打开都是切换前的版本怎么办?Node.js 版本管理神器 NVM 完全使用指南
前端
kangyouwei5 分钟前
鸿蒙开发:18-hilogtool命令的使用
前端·harmonyos
小小神仙5 分钟前
JSCommon系列 - 为什么前端没有 Apache Commons?
前端·javascript·设计模式
WildBlue6 分钟前
🚀 React组件化实战:用TodoList项目搭乐高式开发!🎉
前端·react.js
一头小鹿6 分钟前
【JS】手写显示绑定改变this指向的方法call、apply、bind | 笔记整理
javascript
Nano6 分钟前
ES6中的Proxy和Reflect:深入解析与Vue3响应式原理的完美结合
前端·vue.js
Nano6 分钟前
TypeScript 基础入门指南:从 JavaScript 进阶到类型安全开发
前端
Sun_light7 分钟前
深入理解 JavaScript 对象:从入门到精通
前端·javascript