前言
就是公司提了个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 了
