table表格行内编辑

这篇博客详细介绍了如何在Vue.js项目中实现表格的编辑功能。通过使用element-admin模板,展示了如何添加编辑和取消编辑操作,以及如何在列表接口中添加edit字段。在确定和取消编辑时,数据的同步更新机制也得到了阐述。
摘要由CSDN通过智能技术生成

在这里插入图片描述
element-admin模板有英文demo
中文demo如下:
table表格代码:

<el-table-column min-width="100px"  label="作者" align="center">
 <template slot-scope="{row}">
   <template v-if="row.edit">
     <el-input v-model="row.author" class="edit-input" size="small" />
     <el-button class="cancel-btn" size="small" icon="el-icon-refresh" type="warning" @click="cancelEdit(row)">
       取消
     </el-button>
   </template>
   <span v-else>{{ row.author }}</span>
 </template>
</el-table-column>
<!-- 操作 -->
<el-table-column align="center" label="操作" width="250">
  <template slot-scope="{row}">
    <el-button v-if="row.edit" type="success" size="small" icon="el-icon-success"  @click="confirmEdit(row)" >
       确定
    </el-button>
    <el-button v-else type="primary" size="small" icon="el-icon-edit" @click="row.edit=!row.edit" >
       编辑
    </el-button>
  </template>
</el-table-column>

列表接口中没有edit,用set给列表填上

async getList() {
    this.listLoading = false
    const { data } = await fetchList(this.listQuery)
    const items = data.items
    this.list = items.map(v => {
    this.$set(v, 'edit', false) //给列表数据set进edit字段
    //v.originalTitle = v.title//自定义title
    v.originalAuthor = v.author
    return v
  })
    this.listLoading = false
},

确定、取消按钮代码:

// 取消编辑
 cancelEdit(row) {
   //row.title = row.originalTitle//originalTitle是接口返回的字段,取消时,重新拿接口字段,赋值给自己定义的title
   row.author = row.originalAuthor
   row.edit = false
   this.$message({
     message: '已取消',
     type: 'warning'
   })
 },
 // 确定编辑
 confirmEdit(row) {
   row.edit = false
   //row.originalTitle = row.title//确定时,自定义title赋值给接口字段originalTitle,这里做静态demo,走实际接口赋值给提交的表单/表格就行
   row.originalAuthor = row.author 
   this.$message({
     message: '编辑成功',
     type: 'success'
   })
 },
    ```


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值