【问题标题】:implementation of react-input-maskreact-input-mask 的实现
【发布时间】:2021-05-18 16:13:30
【问题描述】:

我正在使用带有 reatstrap 的 React,我需要使用某种类型的输入掩码,以防止用户在字段中输入字符,并为货币值缩进(例如 = $ 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}
                      )
                  }
              />

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

【问题讨论】:

    标签: javascript reactjs input input-mask


    【解决方案1】:

    根据"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>
      );
    }
    
    

    【讨论】:

    • 但是如果我需要'onChange'来改变状态值呢?
    • 我理解你所说的,但我很难理解这些行写在 domunetation 中的原因,并且在同一页面上的示例中,它显示了不使用“onChange”的实现。
    猜你喜欢
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    相关资源
    最近更新 更多