微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

反应输入掩码的实现

如何解决反应输入掩码的实现

我将 React 与 reatstrap 一起使用,我需要使用某种类型的输入掩码,以防止用户在字段中输入字符,并为货币值进行缩进(示例 = 10.00 美元)

我找到了这个库: https://www.npmjs.com/package/react-currency-masked-input

我试过这个代码

  <CurrencyInput className = "form-control" value = {this.state.input_value}
              onChange = {
                      e => this.setState (
                          {input_value: e.target.value,input_value_per_numb_days: e.target.value / this.state.numb_days}
                      )
                  }
              />

但是,它不起作用,它只是将我的字段类型更改为数字。 如何使用此掩码处理输入的值?

解决方法

根据"Docs"

使用说明:
在更新其内部值后调用 onChange 属性。第一个参数是原始事件,第二个参数是屏蔽值。

onChange 事件获得了带有掩码值的第二个参数:


export default function App() {
  const [input,setInput] = useState();
  const [numbDays,setNumbDays] = useState(0);

  const numberOfDays = 7;

  const maskInput = (e,masked) => {
    setInput(masked);
    setNumbDays(masked / numberOfDays);
  }

  return (
    <div className="App">
      <CurrencyInput name="myInput" onChange={maskInput} value={input} required />
      <h1>input / {numberOfDays} = {numbDays}</h1>
    </div>
  );
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。