Skip to content

Conversation

@paranoidjk
Copy link
Member

问题

对 InputNumber 这个组件来说,props.precision 和 props.decimalSeparator 值如果是 undefined,则这是一个非法的 props 值,会导致组件逻辑直接挂掉。

当然,正常情况,在 jsx 里,用户不会故意写出 <InputNumber decimalSeparator={ undefined }> 这样的代码

但是考虑一些复杂业务里的这种受控情况 <InputNumber decimalSeparator={ this.state.bar }> 出问题的概率就会大一些

此外,在基于 antd 的可视化配置建站的产品中,可视化的属性面板比较难表达 optional 的 props.decimalSeparator 值是 undefined 和 props 没有 decimalSeparator 这个 key 这两种情况

方案

rc-input-number 代码里的判断稍微严格一点

@paranoidjk
Copy link
Member Author

@zombieJ 看下这个改动是否合适?

@coveralls
Copy link

coveralls commented Jan 24, 2019

Coverage Status

Coverage increased (+0.04%) to 87.586% when pulling 5ce62e8 on fix/undefined into db706f2 on master.

@zombieJ
Copy link
Member

zombieJ commented Jan 25, 2019

的确 in 是没什么必要,感觉还可以再加上 null 的判断。

@paranoidjk
Copy link
Member Author

@zombieJ 改了

@zombieJ zombieJ merged commit 4109051 into master Jan 25, 2019
@zombieJ zombieJ deleted the fix/undefined branch January 25, 2019 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants