React中的输入数字格式

时间:2019-06-24 19:42:41

标签: javascript reactjs react-table

我想知道如何格式化输入值以响应基于货币的值。

所以我要允许这种类型的值:

例如:如果用户不想写;

20-将为20.00 如果是1000,则为1,000.000

我不会阻止任何其他用户输入,并且如果显示则显示错误。 我该如何反应?

我正在使用react-table,因此我输入了一些可编辑的单元格。由于它的div行为类似于输入:我尝试过:

<div
          className="coastInput"
          contentEditable
          onBlur={e => {
            const re = /^[0-9\b,.]+$/;
            if (e.target.innerHTML == "" || re.test(e.target.innerHTML)) {
              this.setState({
                isError: false
              });
              const data = [...this.state.data];
              data[cellInfo.index][cellInfo.column.id] = e.target.innerHTML;
              this.setState({ data });

              editedData.push({
                total: this.state.data[cellInfo.index][cellInfo.column.id],
                id: cellInfo.row._original.id,
              });
            } else {
              return (
                this.setState({
                  isError: true
                }),
                alert("Just numbers allowed")
              );
            }
          }}
          dangerouslySetInnerHTML={{
            __html: this.state.data[cellInfo.index][cellInfo.column.id]
          }}
        />

0 个答案:

没有答案