用空值初始化React数字输入控件?

7 浏览
0 Comments

用空值初始化React数字输入控件?

我希望我的受控输入框在初始化时没有任何值。

该输入框是一个数字,所以我不会传入空的''

通过使用defaultProps,我用null来初始化输入框。

当在输入框中输入时,控制台会报告以下消息:

正在将一个未受控的数字输入框转换为受控的。输入框不应该从未受控变为受控(或反之)。

通常为了防止这种情况发生,我会用空字符串进行初始化以防止发生这种"切换"。但是对于一个数字(我不想显示为0,我希望什么都不显示),我不确定该怎么做。

static defaultProps = {
    estimatedHours: null,
    estimatedMinutes: null,
}

默认值 ^^

 this.handleChange('Hours', e.target.value)}
    onKeyDown={this.handleKeyDown}
    onPaste={this.handlePaste}
    value={estimatedHours}
    placeholder={hoursText}
    className="slds-input th-trailmix-textbox th-time-component__input"
/>

0