ng-zorro-table列宽resize后宽度是NaN的源码调试记录

前言

就是公司提了个bug,表格resize列宽后,得到的 width 是 NaN,调试了一下 ng-zorro 的源代码,发现了问题所在,于是记录一下这个坑

现象

公司的表格数据是 Input 到组件里面的,然后每一项的 widht 是个字符串

然后在使用时,列的 minWidth 和 maxWidth 都是默认取的 width,依旧是字符串,然后 th 是使用了 ng-zorro 里的自定义指令 nz-resizable

然后在 resize 列宽时,会触发 nz-resizable 的逻辑,逻辑内部会通过 Math.min 和 Math.max 去取值。然而此时的值是字符串130px,就会导致 newWidth 的值是 NaN

解决办法

定义一个转换方法,只取数值部分传入即可

ts 复制代码
parseInt(column.maxWidth || column.width, 10);

这样得到的 newWidth 就是 number 了

相关推荐
子兮曰2 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰2 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万2 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝2 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋2 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95273 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大3 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师3 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端