ant-design-vue tabel x,y都设置滚动后错位的解决方法

通过自定义指令fit-columns来解决
ellipsis设置true
function adjustColumnWidth(table) {
  const thead = table.querySelector('thead');
  const tbody = table.querySelector('tbody');
  const headList = [];
  const bodyList = [];
  const widthList = [];
  thead.querySelectorAll('th').forEach(item => {
    headList.push(item.querySelector('span').offsetWidth + 18);
  });
  tbody
    .querySelector('tr')
    .querySelectorAll('td')
    .forEach((item, index) => {
      const bodyWidth = item.offsetWidth;
      let width = bodyWidth;
      bodyList.push(bodyWidth);
      if (bodyWidth < headList[index]) {
        width = headList[index];
      }
      item.style.minWidth = `${width}px`;
      thead.querySelectorAll('th')[index].style.minWidth = `${width}px`;
      widthList.push(width);
    });
}
Vue.directive('fit-columns', {
  componentUpdated(el) {
    setTimeout(() => {
      adjustColumnWidth(el);
    }, 200);
  },
});
posted @   刘兵博客  阅读(2697)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示