【发布时间】:2017-12-04 21:42:00
【问题描述】:
我希望我的受控输入在框中没有值的情况下进行初始化。
输入是一个数字,所以我不会传入一个空的''。
使用 defaultProps,我将输入初始化为 null。
在输入中输入时,控制台会报告此消息:
<MyInput> 正在更改要控制的类型 number 的不受控输入。输入元素不应从不受控切换到受控(反之亦然)。
为了防止这种情况,我通常用一个空字符串进行初始化,以防止这种“切换”发生。但是有一个数字(我不想显示 0,我不想显示任何内容)我不知道该怎么做。
static defaultProps = {
estimatedHours: null,
estimatedMinutes: null,
}
默认值^^
<input
type="number"
onChange={(e) => 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"
/>
【问题讨论】:
-
可以分享一下不受控制的输入组件代码吗?
-
似乎无法复制这个?你使用的是哪个版本的 React?
-
使用 React 15.6.1
-
使用
defaultValue和onBlur组合。
标签: javascript reactjs