elementUI Table 表格编辑数据后停留当前位置

后台管理系统在实际开发中,表格如果在一定高度出现滚动条。

这时如果对表格行数据进行编辑或者拖拽排序操作,数据刷新后滚动条会默认回到顶部,这样体验会不太好。

如果想保留在当前位置可以这样操作:

1.el-table标签添加ref属性

<el-table :data="tableData" v-loading="tableLoading" ref="elTable"></el-table>

2.data return定义下列值

  data() {
    return {
      memoryScrollTop: "",
    };
  },

table表格出现滚动条渲染的结构和样式

 3.点击编辑时获取当前表格滚动条位置

const el = this.$refs.elTable.bodyWrapper;
this.memoryScrollTop = el.scrollTop;

4.表格数据刷新完成后

setTimeout(() => {
  const el = this.$refs.elTable.bodyWrapper;
  $(el).scrollTop(this.memoryScrollTop); // jQ写法
});

要实现elementui table双击表数据在线编辑,你可以使用elementui提供的table组件自带的edit配置项。具体实现步骤如下: 1. 在tableel-table-column中设置prop和label属性,prop表示该列对应的数据字段,label表示该列的表头。 2. 在tableel-table-column中设置editable属性为true,表示该列可编辑。 3. 在tableel-table-column中设置edit-setting属性,该属性值为一个对象,包含type、options、min和max等属性,type表示该列编辑的类型,可以是text、textarea、number、select等;options表示下拉菜单的选项,min和max表示数字类型的最小值和最大值。 4. 在tableel-table-column中设置edit-rules属性,该属性值为一个数组,表示该列的校验规则,可以使用elementui提供的一些校验规则或者自定义校验函数。 5. 在tableel-table-column中设置formatter属性,该属性值为一个函数,用于格式化该列的数据显示,这个不是必须的。 6. 在tableel-table-column中设置editable属性为true,表示该列可编辑。当用户双击该列时,该列会自动进入编辑状态,用户可以修改该列的值。用户修改完毕后,可以点击enter键或者点击其他地方使该列退出编辑状态,修改的数据会自动保存到表格中。 7. 在tableel-table-column中设置edit-cancel-text和edit-confirm-text属性,分别表示取消和确认按钮的显示文本。 下面是一个示例代码: ```html <template> <el-table :data="tableData"> <el-table-column prop="name" label="姓名" :editable="true" :edit-setting="{type: 'text'}"></el-table-column> <el-table-column prop="age" label="年龄" :editable="true" :edit-setting="{type: 'number', min: 1, max: 100}" :edit-rules="[{required: true, message: '请输入年龄', trigger: 'blur'}]"></el-table-column> <el-table-column prop="gender" label="性别" :editable="true" :edit-setting="{type: 'select', options: [{value: '男', label: '男'}, {value: '女', label: '女'}]}"></el-table-column> </el-table> </template> ``` 这样就可以实现elementui table双击表数据在线编辑了。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值