双击编辑el-table的单元格数据

(1) el-table刷新要求绑定el-table的key要发生变化才会刷新

(2) 单元格双击事件 cell-dblclick

(3) 往row里面添加一个属性来唯一标识某一行的数据,双击时使这特殊属性为true,输入框失去焦点时则设置特殊属性为false,并且输入框的显示与隐藏通过v-if与特殊属性绑定。

(4) 回车事件 @keyup.enter.native

javascript 复制代码
<el-table border class="mt20" :data="data" style="width: 100%" row-key="id" :key="key" @cell-dblclick="dblclick">
      <el-table-column type="index" label="序号" width="50">
        <template slot-scope="scope">
          <span>{{ (search.page -1) * search.size + scope.$index+1 }}</span>
        </template>
      </el-table-column>
      <el-table-column prop="id" label="ID" width="width">
      </el-table-column>
      <el-table-column prop="name" label="名称" width="width">
      </el-table-column>
      <el-table-column prop="lwkx" label="论文扩写" width="width">
          <template scope="scope">
            <div v-if="scope.row[scope.column.property+'Show']" class="input-box">
              <el-input size="small" @keyup.enter.native="handleInputlwkx(scope.row,scope.column)" v-model="scope.row.lwkx"></el-input>
            </div>
            <span v-else>{{scope.row.lwkx}}</span>
          </template>
        </el-table-column>
    </el-table>

<script>
export default {
data() {
    return {
      key: "",
      dialogVisible: false,
      search: {
        page: 1,
        size: 20,
      },
      data: [],
      total: 0,
    };
  },
methods: {
    dblclick: function (row, column) {
      console.log(column.property);
      row[column.property + "Show"] = false;
      row[column.property + "Show"] = true;
      this.updateTable();
    },
    // 修改论文扩写
    handleInputlwkx(row, column) {
      row[column.property + "Show"] = true;
        //业务代码
      funcGroupUpdate(row).then((res) => {
        this.dialogVisible = false;
        this.$message.success(res.message);
      });
    },
 //更新表格
    updateTable() {
      this.key = Math.random();
    },
}
}
</script>

双击编辑el-table的单元格_el-table 单元格-CSDN博客

相关推荐
陈陈小白18 小时前
npm run dev报错Error: listen EADDRINUSE: address already in use :::8090
前端·npm·node.js·vue
G018_star sky♬18 小时前
使用npm运行js脚本覆盖vue依赖包
javascript·vue.js
杂鱼豆腐人18 小时前
pnpm环境下防止误使用npm的方法
前端·git·npm·node.js·git bash
我是ed18 小时前
# vue2 使用 cesium 展示 TLE 星历数据
前端
宇余18 小时前
从 useState 到 URLState:前端状态管理的另一种思路
前端·vue.js
白兰地空瓶18 小时前
🚀 10 分钟吃透 CSS position 定位!从底层原理到避坑实战,搞定所有布局难题
前端·css
onthewaying19 小时前
在Android平台上使用Three.js优雅的加载3D模型
android·前端·three.js
冴羽19 小时前
能让 GitHub 删除泄露的苹果源码还有 8000 多个相关仓库的 DMCA 是什么?
前端·javascript·react.js
悟能不能悟19 小时前
jsp怎么拿到url参数
java·前端·javascript