当前位置: 首页 > 知识库问答 >
问题:

前端 - 单元格内实现可编辑并保存,并实现精准定位到当前点击的单元格?

华温书
2023-11-14
<el-table          :data="            this.tableData.slice(              (this.currentPage - 1) * this.pagesize,              this.currentPage * this.pagesize            )          "          border          fit          height="500px"          highlight-current-row          style="width: 100%"          @cell-dblclick="cellDblclick"          :row-class-name="tableRowClassName"        >          <el-table-column            v-for="(item, i) in cols"            :key="i"            align="center"            :prop="item.prop"            :label="item.label"          >            <template slot-scope="{row }">              <el-input                v-if="cellDoubleClice"                v-model="row[item.prop]"                ref="input"                  ></el-input>              <span v-else>{{ row[item.prop] }}</span>            </template>          </el-table-column>        </el-table>
 // 遍历出所有表格行的回调函数    tableRowClassName({ row, rowIndex }) {      row.row_index = rowIndex;    },    // 双击事件触发的函数    cellDblclick(row, column, cell, event) {      console.log(event.bubbles);      // if(row.row_index)      this.cellDoubleClice = event.bubbles;    },

实现效果:
image.png

如何实现精准定位到当前点击的单元格,并且只有后面四个字段可编辑。

共有1个答案

拓拔迪
2023-11-14

要实现精准定位到当前点击的单元格,您可以使用 el-table 组件的 @row-click 事件。该事件会在用户点击某一行时触发,可以获取到点击的行的数据。

同时,为了实现只有后面四个字段可编辑,您可以在 el-table-column 中使用 v-if 判断语句,仅在需要编辑时显示 el-input 组件,否则显示 span

以下是代码示例:

<el-table  :data="tableData"  border  fit  height="500px"  highlight-current-row  style="width: 100%"  @row-click="handleRowClick">  <el-table-column    v-for="(item, i) in columns"    :key="i"    align="center"    :prop="item.prop"    :label="item.label"  >    <template slot-scope="{ row }">      <el-input        v-if="item.prop === 'field1' || item.prop === 'field2' || item.prop === 'field3' || item.prop === 'field4'"        v-model="row[item.prop]"        ref="input"      ></el-input>      <span v-else>{{ row[item.prop] }}</span>    </template>  </el-table-column></el-table>

在您的 Vue 实例中,添加以下方法:

data() {  return {    tableData: [...], //您的表格数据    columns: [...], //您的表格列配置  };},methods: {  handleRowClick(row, column, cell, event) {    console.log(event.bubbles);    const { row_index } = row; //获取行索引    // 在这里可以进行您需要的操作,例如将选中的行存储到另一个变量中,或者在编辑模式下进行其他操作。  },},
 类似资料:
  • 本文向大家介绍jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】,包括了jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现点击表格单元格就可以编辑内容的方法。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery表格(

  • 本文向大家介绍jQuery+PHP实现可编辑表格字段内容并实时保存,包括了jQuery+PHP实现可编辑表格字段内容并实时保存的使用技巧和注意事项,需要的朋友参考一下 本例适用场景:当查看详细资料,如用户详情信息,发现其中某几个字段信息需要修改,可直接点击该字段内容进行修改,节约了用户时间,(传统的做法是进入一个编辑页面,列出所有编辑的字段信息,即使你只需要编辑其中一两个字段内容,然后点击提交)提

  • 本文向大家介绍element-ui 表格实现单元格可编辑的示例,包括了element-ui 表格实现单元格可编辑的示例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇element-ui 表格实现单元格可编辑的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我用这个例子http://docs.oracle.com/javafx/2/ui_controls/table-view.htm其中tableview基于MapValueFactory。 现在我遇到了编辑后的值不保存的情况。我的行动: 按“回车”- 但当我在这个单元格中再次按“回车”时,会显示旧值而不是新值。 请帮助我了解编辑单元格后如何保存更改?

  • vue-vuetify怎么实现表格单元格可编辑,并且能获取到输入的值呢?

  • 本文向大家介绍jQuery实现HTML表格单元格的合并功能,包括了jQuery实现HTML表格单元格的合并功能的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现HTML表格单元格合并的方法。分享给大家供大家参考,具体如下: 运行效果截图如下: 合并前: 合并后: 具体代码如下: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery表格(table)操作技巧汇