elementUI table 让某一行 变成可编辑状态

3 篇文章 0 订阅
本文介绍如何在Vue.js应用中实现表格的编辑功能。通过使用`slot-scope`和`scope.$index`,可以获取表格每一行的索引和数据。在数据项上设置`cellIndex`来跟踪当前编辑的行,点击编辑按钮切换编辑状态,而保存按钮则用于保存修改。同时,提供了删除操作的实现。示例代码展示了如何定义`editTable`和`saveTable`方法来处理这些交互。
摘要由CSDN通过智能技术生成

首先,利用自带的

slot-scope="scope"

使用方法

scope.$index
<el-table-column prop="number" label="数量" align="left">
  <template slot-scope="scope">
    <el-input v-model="editNumber" clearable v-show="scope.$index == cellIndex" />
    <p v-show="scope.$index != cellIndex">{{ scope.row.number }}</p>
  </template>
</el-table-column>

解释一下

这里拿到每一行的index----------scope.$index

这里拿到每一行的数据-----------scope.$row

在data()里面写一个cellIndex = null

 data() {
    return {
      tableData: [ ],
      //当前点击行的下标
      cellIndex: null
    };
  },
————————————————

<el-table-column label="操作" align="left" width="120">
  <template scope="scope">
      <el-button @click="editTable(scope)" size="small" type="text" v-if="scope.$index != cellIndex">编辑</el-button>
      <el-button @click="saveTable(scope)" size="small" type="text" v-else>保存</el-button>
      <el-button type="text" size="small" @click="partsDel(scope.row.id)">删除</el-button>
    </div>
    <div v-else>
      <span>-</span>
    </div>
  </template>
</el-table-column>

然后在方法中写

editTable({ $index, row }) {
  // 获取当前点击行下标
  console.log($index,row)
  this.cellIndex = $index
},
saveTable({ row }) {
  this.cellIndex = null
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值