场景:
需要在<input/>控制输入的内容为数字(包括小数点)
inputOnChange = (value) { //只能输入 数字 或者 . value = value.replace(/[^0-9.]/g, "").trim()
//value = value.includes(".") ? `0.${value.split(".")[1].slice(0, 4)}` : value
//小数最多可输入4位。(不用.toFixed() 因为不用强制保留4位小数) this.setState({ value }) }
inputOnBlur = (value) { //失焦的时候 展现正确的数据格式
value = Number(value).toString(); //这里可以不变回字符串,担心数据要进行其它操作,统一数据类型
this.setState({
value
})
} ----------------------------------------------------------- <input value={this.state.value} // 在输入框加载的时候输入框中的值。提交时可直接获取。
placeholder="请输入" // 在输入框为空的情况下会显示placeholder中的值。但是提交时不能直接取其值。
onFocus={(ev)=>{ev.target.select()} //聚焦时为选中状态
onChange={(ev)=>{this.inputOnChange(ev.target.value)}}
onBlur={(ev)=>{this.inputOnBlur(ev.target.value)}}
/>