V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yuhuij  ›  全部回复第 2 页 / 共 3 页
回复总数  53
1  2  3  
65 天前
回复了 yuhuij 创建的主题 React react antd 就是包了巧克力的屎
附上自己的解决方案,目前能做到自适应,但是表格下面部分的元素会产生闪烁,比如分页。(顺便求下,有没有 react/antd 交流群,谢谢各位大佬)
```
import { debounce } from "lodash-es";
import { useCallback, useLayoutEffect, useRef, useState } from "react";

export function useTableScroll() {
const [tableHeight, setTableHeight] = useState(600);
const tableContainerRef = useRef<HTMLDivElement>(null);

const calculateTableHeight = useCallback(() => {
const node = tableContainerRef.current?.querySelector(".ant-table-tbody") as HTMLElement;
const nodeRect = node?.getBoundingClientRect() ?? { top: 0 };
const viewportHeight = window.innerHeight || document.documentElement.clientHeight;
const pagination = tableContainerRef.current?.querySelector(".ant-pagination") as HTMLElement;
const { top: nodeTop } = nodeRect;
const { height: paginationHeight } = pagination?.getBoundingClientRect() ?? {
height: 0,
};
const { marginTop: paginationMarginTop } = pagination
? (getComputedStyle(pagination) as CSSStyleDeclaration)
: { marginTop: "0px" };

const height = viewportHeight - nodeTop - paginationHeight - Number(paginationMarginTop.replace("px", "")) - 40;
// console.log("[ height ] >", height);
setTableHeight(height);
}, []);

useLayoutEffect(() => {
if (!tableContainerRef.current) return;

const debouncedCalculate = debounce(calculateTableHeight, 100);

// 初次加载时计算一次
debouncedCalculate();

const resizeObserver = new ResizeObserver((entries) => {
for (const entry of entries) {
if (entry.target === tableContainerRef.current) {
debouncedCalculate();
}
}
});

resizeObserver.observe(tableContainerRef.current);

// 清理函数:组件卸载时停止观察
return () => {
resizeObserver.disconnect();
debouncedCalculate.cancel();
};
}, [calculateTableHeight]);

return { scroll: { y: tableHeight }, tableContainerRef };
}

```
106 天前
回复了 BlackHole1 创建的主题 分享创造 OOMOL Studio 更新:更完善的工作流 IDE
牛哇
我也遇到了,每次改停靠位置 edge 都会卡好一会
x200 ultra
那不如直接给 dify 贡献,80 多 k 的项目呢
209 天前
回复了 klo424 创建的主题 分享发现 Xiaomi 15 Ultra 手机届的颜值巅峰!
全面屏+纯平后盖,红魔才是最好看的
精通 TypeScript/JavaScript ?建议给开源项目做贡献或者拿出自己的项目,这样才能说服别人
微软 azure
229 天前
回复了 yuhuij 创建的主题 分享发现 有没有 cursor 的更低成本替代方案?
@vkbo 没了,现在好像要 40 ,大部分还搜不到了.我直接和别人拼车 700 一年,2 人共享
230 天前
回复了 yuhuij 创建的主题 分享发现 有没有 cursor 的更低成本替代方案?
@sworld233 这个我也试了,还是比不了 cursor
253 天前
回复了 miaeLKK 创建的主题 健康 关于痛风的交流贴
西药: 平常吃非布司他, 痛了吃点止痛药啥的. 中药: 搜倪师的 甘草附子汤配方, 我只说我的使用感受,这玩意痛的时候吃比止痛药都管用,对我来说很好使,吃完后面就没怎么痛过了,复发疼痛感也没上一次严重. 平常多喝水,搞点柠檬片泡水
286 天前
回复了 giserman001 创建的主题 剧集 兄弟们,求剧(动漫)
日漫最近只看了胆大党, 国漫最近 剑来、牧神记、大道朝天
310 天前
回复了 rtyxmd 创建的主题 汽车 决赛圈三选一,求推荐
虎 8
手持红魔 9pro 回复,纯平背面
361 天前
回复了 wukong888 创建的主题 Windows 从 Mac 换成了 windows 工作效率大幅降低
16+512 的 mac air m2 开两个 vscode 都卡得不行,内存占用日常 80%以上,cpu 经常八九十度.从 widows 转的 mac ,同样的使用场景下,我觉得 mac 体验就是一坨.在 mac 开 vscode 我都得配置不同的配置,避免插件过多电脑太卡,在 windows 同样的配置,我完全不需要这样做.
2024-03-25 16:57:06 +08:00
回复了 chq3272991 创建的主题 汽车 零跑 c10、c11 和比亚迪元 plus 选择
长安深蓝 s7
2023-12-11 10:37:22 +08:00
回复了 gitrebase 创建的主题 Android 2023 年有什么安卓手机原生就支持 Google 框架的吗
除了华为都可以吧
1  2  3  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1580 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 16:28 · PVG 00:28 · LAX 09:28 · JFK 12:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.