layui 数据表格 自动定位新增行位置

由于数据表格新增行后没有到新增到当前位置 继续增加的需求:

因为自己是新增行后到最后一行的 所以 就定位到最后一行 并且 高亮

高亮颜色浅 可自行更改

整理了一下 可根据 情况 修改

// 初始化滚动条位置变量
let tableScroll = {
  scrollTob: 0,
  scrollLeft: 0,
};

// 定义滚动到指定位置的函数
function scrollToAndHighlight(id) {
  let rows = layui.table.cache.test;

  for (let i = 0; i < rows.length; i++) {
    if (rows[i].day == id) {
      let j = rows[i].LAY_TABLE_INDEX;
      $('tbody > tr').eq(j).css('background', '#e5e5e5'); // 高亮显示指定行

      let cellHtml = $('tbody > tr').eq(j);
      $(".layui-table-main").animate({
        scrollTop: cellHtml.offset().top - $(".layui-table-main").offset().top + $(".layui-table-main").scrollTop()
      }, 200); // 滚动到指定行
      return; // 找到并处理完后退出循环
    }
  }
}

// 重载表格的done回调函数,用于保持滚动条位置
done: function (res, curr, count) {
  // 重载表格---保持滚动条位置
  $('.layui-table-body').scrollTop(tableScroll.scrollTob);
  $('.layui-table-body').scrollLeft(tableScroll.scrollLeft);
  tableScroll.scrollTob = 0;
  tableScroll.scrollLeft = 0;
},

// 自定义函数,用于重载表格并处理滚动条位置
function fn() {
  // 重载表格---保持滚动条位置
  var scrollTop = ($('.layui-table-body').length > 1) ? $('.layui-table-body')[0].scrollTop : $('.layui-table-body').scrollTop;
  var scrollLeft = ($('.layui-table-body').length > 1) ? $('.layui-table-body')[0].scrollLeft : $('.layui-table-body').scrollLeft;
  tableScroll.scrollTob = scrollTop == 0 ? tableScroll.scrollTob : scrollTop;
  tableScroll.scrollLeft = scrollLeft;

  // 假设这里有你想要高亮显示的id
  let highlightId = 'yourDesiredId';
  scrollToAndHighlight(highlightId);

  layui.table.reload('test', { data: productList }); // 重载表格
  form.render(); // 刷新表单
}

// 调用fn函数执行重载操作
fn();

如果页面有多个表格 给前面加上当前的 id 因为自己遇到了每次都定位缺行 最后发现是 由于另外一个表格数据的关系 提示一下

相关推荐
情绪羊3 分钟前
Typescript Go 尝鲜体验指南
前端·typescript·github
ConardLi6 分钟前
微调数据集太难搞?我直接手搓一个开源项目!
前端·javascript·人工智能
~二向箔~14 分钟前
国内Mac,nimi安装homebrew完整过程
前端·macos
rudy_zhou29 分钟前
使用纯CSS 实现 侧边栏 拖拽效果
前端·css
samroom30 分钟前
Node.js学习分享(下)
前端·学习·node.js
zru_96021 小时前
Rule-Engine 使用介绍
java·前端·数据库
清清ww2 小时前
elementUI改样式失败问题——DatePicker 日期选择器
前端·javascript·elementui
做想做的,2 小时前
el-table表格样式设置单元格样式方法 :cell-class-name
前端·javascript·vue.js·spring boot
liuyang___2 小时前
vue左侧边框点击后让字体高亮
前端·javascript·vue.js
丁总学Java2 小时前
小程序渲染之谜:如何解决“加载中...”不消失的 Bug(glass-easel)
前端·小程序·bug·glass·glass-easel·easel