場景:
需要在<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)}}
/>