ElementUI实现可编辑表格(1)


<el-table :data="paramTable" border tooltip-effect="light" size="mini" @cell-dblclick="cellClick">

    <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>

    <el-table-column prop="factorLevel" label="值" align="center" show-overflow-tooltip>

        <template slot-scope="scope">

            <el-input size="mini" v-model="scope.row.factorLevel" v-if="scope.row.flag" @blur="inputClick(scope.row)" v-focus></el-input>

            <span v-if="!scope.row.flag">{{scope.row.factorLevel}}</span>

        </template>

    </el-table-column>

    <el-table-column fixed="right" label="操作" align="center" width="90px">

        <template slot-scope="scope">

            <el-button size="mini" type="text" icon="el-icon-delete"></el-button>

        </template>

    </el-table-column>

</el-table>  

<script>

export default {

    data(){

        return{

            paramTable:[{

                factorLevel:1,

                flag:false

            },{

                factorLevel:2,

                flag:false

            },{

                factorLevel:3,

                flag:false

            }]

        }

    },

    directives: {

        // 注册一个局部的自定义指令 v-focus

        focus: {

            // 指令的定义

            inserted: function (el) {

                // 聚焦元素

                el.querySelector('input').focus()

            }

        }

    },

    methods: {

        //双击单元格后,显示input,并通过v-focus让input自动获取焦点

        cellClick(row){

            row.flag=true

            console.log(row)

        },

#  最后

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**

**因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/e24f976634a5fbfc99c974d7b81c094a.jpeg)

![](https://img-blog.csdnimg.cn/img_convert/ab8cfb2a6a4272a7a18ddfdf011f2908.png)

![](https://img-blog.csdnimg.cn/img_convert/776ce31822c1fbb399ef50314559bfed.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618191877)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
*](https://bbs.csdn.net/topics/618191877)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现编辑动态表格的方法如下: 1. 在 Vue 中引入 Element UI 的 Table 组件,并设置 table 的 columns 和 data 属性。 2. 在 columns 中设置需要编辑的列的 type 属性为 "input"。 3. 在 data 中设置每个单元格的 editable 属性为 true,表示该单元格可以编辑。 4. 绑定 table 的 cell-click 事件,当用户点击单元格时,判断该单元格是否可以编辑,如果可以编辑,则将该单元格的 editable 属性设置为 false,同时保存该单元格的值。 5. 在单元格失去焦点时,将该单元格的 editable 属性设置为 true,同时将修改后的值保存到 data 中。 以下是示例代码: ```html <template> <el-table :data="tableData" @cell-click="handleCellClick"> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄" :editable="true" :type="'input'"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [ { name: '张三', age: 18, address: '北京市' }, { name: '李四', age: 20, address: '上海市' }, { name: '王五', age: 22, address: '广州市' } ] } }, methods: { handleCellClick(row, column, cell, event) { if (column.editable) { cell.children[0].setAttribute('contenteditable', true) cell.children[0].focus() cell.children[0].addEventListener('blur', () => { cell.children[0].removeAttribute('contenteditable') row[column.prop] = cell.innerText }) } } } } </script> ``` 在上面的代码中,我们使用了 contenteditable 属性来实现单元格的可编辑。在 cell-click 事件中,当单元格可编辑时,我们将该单元格的 contenteditable 属性设置为 true,并且将焦点设置到该单元格中。当单元格失去焦点时,我们将 contenteditable 属性设置为 false,并且将修改后的值保存到 data 中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值