[英]How to make Vue js vuetify input allow only 3 digits before decimal and 2 digits after decimal
[英]How to allow only digits along with decimal on react input
我想在反應輸入中只允許帶十進制的數字,並根據得到的值做一些條件,低於我嘗試過的工作正常但有下面提到的問題
<FormInput
name="amount"
label="Amount"
onChange: this.handleChange,
startAdornment: (<InputAdornment position="start">$</InputAdornment>),
pattern: '[0-9]*',
/>
handleChange = (event) => {
const { value } = event.target;
const validValue = Math.abs(parseFloat(value));
if (validValue && !isNaN(validValue)) {
// some condition...
// i have some other set of value that i compare here with input got like if
// 1) validValue > someValue, then this.setState({ someValue })
// 2) validValue <= someValue, then this.setState({ validValue })
// 3) else this.setState({ validValue: 0 })
}
}
但這里的問題是我無法輸入十進制和其他數字,就像我需要輸入 1.2 然后首先我需要輸入 12 然后在 2 之前添加 '.'(十進制),所以請幫助我我能做什么允許與其他數字一起使用小數的數字
您不應該為此使用模式。 您可以簡單地將type="number"
傳遞給您的輸入,它會進行您想要的驗證。
<FormInput
name="amount"
label="Amount"
type="number"
onChange={this.handleChange}
startAdornment={<InputAdornment position="start">$</InputAdornment>}
/>
您的模式不適合十進制值。 您可以使用以下模式來驗證十進制數:
^(\d*\.)?\d+$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.