Kros的博客 Kros的博客
首页
  • CSS
  • 工具
  • Vue
  • js
  • Vue3
  • 算法
  • 折腾笔记
一言
  • 分类
  • 标签
  • 归档
码云

Kros

凡心所向,素履以往,生如逆旅,一苇以航
首页
  • CSS
  • 工具
  • Vue
  • js
  • Vue3
  • 算法
  • 折腾笔记
一言
  • 分类
  • 标签
  • 归档
码云
  • CSS

  • JavaScript

  • 工具

  • Vue

  • antdv踩坑记录

    • table左右fix后内容table和固定table出现错位
    • table同时存在额外展开行和固定列时固定列高度默认只有一行
    • antdv常见的全局提示框、弹框api调用
    • customRender实现行列合并
    • customRender中实现自定义渲染元素
    • antdv树结构table
    • table自定义空数据界面
    • mixin混入column时this指向问题
    • antdv日期组件显示英文
    • js导出页面上table
  • Vue3

  • 前端
  • antdv踩坑记录
kros
2022-03-02

table左右fix后内容table和固定table出现错位

看代码:

// html
// <a-table 
		id="exampleTable"
		...
		> </a-table>

// js
// 延迟避免table自身的自适应高度
setTimeout(() => {
	// 获取指定
  let scrollDoms = document.querySelectorAll('#exampleTable .ant-table-scroll [data-row-key]');
  if(scrollDoms.length == 0) {
    return;
  }
  let mapScrollH = {};
  scrollDoms.forEach(item => {
    // 获取offsetHeight会自动四舍五入,需要处理精度问题
    // mapScrollH[item.getAttribute('data-row-key')] = item.offsetHeight;
    // 方法一: window.getComputedStyle(item)
    // 方法二:item.getBoundingClientRect();
    let rect = item.getBoundingClientRect();
    if(rect) {
      mapScrollH[item.getAttribute('data-row-key')] = rect.height + 'px';
    }else {
      mapScrollH[item.getAttribute('data-row-key')] = window.getComputedStyle(item).height;
    }
  });
  // 设置左侧固定列高度
  let leftFixedDoms = document.querySelectorAll(tableSelector + ' .ant-table-fixed-left [data-row-key]')
  leftFixedDoms.forEach(item => {
    if(mapScrollH.hasOwnProperty(item.getAttribute('data-row-key'))) {
      item.style.height = mapScrollH[item.getAttribute('data-row-key')];
    }
  });
  // 设置右侧固定列高度
  let rightFixedDoms = document.querySelectorAll(tableSelector + ' .ant-table-fixed-right [data-row-key]')
  rightFixedDoms.forEach(item => {
    if(mapScrollH.hasOwnProperty(item.getAttribute('data-row-key'))) {
      item.style.height = mapScrollH[item.getAttribute('data-row-key')];
    }
  });
}, 200)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
上次更新: 2025/09/05, 8:09:00
element表单内输入框使用@keyup enter native回车时会刷新页面
table同时存在额外展开行和固定列时固定列高度默认只有一行

← element表单内输入框使用@keyup enter native回车时会刷新页面 table同时存在额外展开行和固定列时固定列高度默认只有一行→

最近更新
01
Find the next perfect square
09-05
02
Regex validate PIN code
09-05
03
Find the odd int
09-05
更多文章>
Theme by Vdoing | Copyright © 2020-2025 kros king
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
icon-heart-o icon-heart icon-infinity icon-pause icon-play link next prev