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 了

相关推荐
liwulin05061 小时前
【ollama】自定义结构化输出
linux·前端·数据库·ollama
前端甜糖2 小时前
记录We码开发者工具的一个bug
前端·javascript
程序员黑豆2 小时前
鸿蒙应用开发教程:以红绿灯切换为例,掌握条件渲染的核心用法
前端·harmonyos
猫3282 小时前
echarts 日常问题解决
前端·javascript·echarts
新中地GIS开发老师2 小时前
地信职业百科④:GIS开发工程师
前端·数据库·gis·webgis·三维gis开发
我是大卫2 小时前
【图】React源码解析-从数据结构、调度器、源码设计模式到状态计算引擎,深挖useReducer原理
前端·react.js·源码
willes2 小时前
列表中的倒计时组件
前端
LVZ2 小时前
用了半年 AI 写代码,最烦的不是代码,是环境
前端·后端·开源
polaris_tl2 小时前
一行 `compress: false`,为什么让 SSE 首包恢复实时返回
前端