semi-design icon indicating copy to clipboard operation
semi-design copied to clipboard

组件属性类型包含number,当该属性值设置成 NaN , 如果该属性值被用在componDidUpdate中,使用===判断是否更新,会导致页面 crach(比如select的value属性)

Open YyumeiZhang opened this issue 2 years ago • 1 comments

Which Component 出现bug的组件

  • Select

semi-ui version

  • latest

Expected result 期望的结果是什么

  • 正常显示NaN

Actual result 实际的结果是什么

  • 页面崩溃 select

Steps to reproduce 复现步骤

Reproducible code 复现代码

import React from 'react';
import { Select } from '@douyinfe/semi-ui';

() => (
    <>
        <Select value={NaN} style={{ width: 120 }}>
            <Select.Option value='abc'>抖音</Select.Option>
            <Select.Option value='hotsoon'>火山</Select.Option>
            <Select.Option value='jianying' disabled>剪映</Select.Option>
            <Select.Option value='xigua'>西瓜视频</Select.Option>
        </Select>
    </>
);

Additional information 补充说明

YyumeiZhang avatar Apr 14 '22 03:04 YyumeiZhang

Components that require additional handling with isNaN (whose value supported number type)

  • Select
  • Rating
  • Slider
  • ~~InputNumber~~ 有单独处理 NaN
  • Radio
  • TreeSelect
  • Tree

pointhalo avatar Apr 27 '22 03:04 pointhalo

我来修复这个问题

edc-hui avatar Nov 09 '22 10:11 edc-hui