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 了

相关推荐
紫禁玄科3 小时前
Shai-Hulud:npm生态的自我复制蠕虫风暴
前端·npm·node.js
东风破_3 小时前
后端API没写好,前端难道干等着吗?
前端
用户938515635073 小时前
从前后端分离到前端接口工程:React + MockJS + Vite 解析
前端·后端·全栈
用户938515635073 小时前
从零在浏览器里跑 DeepSeek-R1:WebGPU + Transformers.js 全链路实战(三)
前端·react.js·typescript
excel4 小时前
当前端行情变差,我们为什么还要坚持?
前端
鸿是江边鸟,曾是心上人4 小时前
快速搭建HTTPS本地开发环境
前端
To_OC5 小时前
写了 5 个表单 Demo 后,我终于彻底搞懂了 React 受控与非受控组件
前端·react.js·前端框架
Sterting5 小时前
第9课 Vue Router 路由
前端·vue.js
用户059540174465 小时前
LangChain Memory 测试踩坑实录:用 pytest 自动化回归对话记忆,我折腾了整整一个周末
前端·css
kyriewen5 小时前
Claude Code后天起默认Auto模式了——我第一时间改了这6个设置
前端·ai编程·claude