reactjs - 如何在 React 中使用带有数字输入的占位符?

标签 reactjs forms formik

我输入了一个数字,格式如下:

<input
  type="number"
  id="weight"
  onChange={this.handleChange}
  value={this.state.weight}
  placeholder="Enter weight…"
/>

如何在其上显示占位符短语?

如果我最初将 this.state.weight 设置为值 0,则不会显示占位符。

如果我将其设置为 null 占位符会显示,但会收到这个丑陋的警告

Warning: value prop on input should not be null. Consider using an empty string to clear the component or undefined for uncontrolled components.

最佳答案

您可以使用:权重:“”

class App extends React.Component {
  state = {
    weight: "",
  };

  handleChange = e => this.setState( { weight: e.target.value } )

  render() {
    return (
      <div>
        <input
          type="number"
          id="weight"
          onChange={this.handleChange}
          value={this.state.weight}
          placeholder="Enter weight…"
        />
      </div>
    );
  }
}

ReactDOM.render( <App />, document.getElementById( "root" ) );
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>

如果您想在更改末尾添加数字,则可以使用:

handleChange = e => this.setState( { weight: e.target.valueAsNumber } )

关于reactjs - 如何在 React 中使用带有数字输入的占位符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52409837/

相关文章:

javascript - React - 将类添加到空输入字段

javascript - React-Native 中 asyncStorage 的 Formik 提交问题

javascript - 尝试使用 Formik 进行多步骤验证。如何验证字段?

reactjs - 默认值不适用于 react-select 和 Formik

javascript - React 组件的数据存储

javascript - 如何将 props 传递给 Draft.js 中装饰器的策略函数

zend-framework - Zend Form - 在标签的 dt 上设置类

javascript - 验证单个表单的特定字段是否存在各种选择框更改 - jQuery

javascript - 在按钮单击时禁用表单自动提交

javascript - 表格数据()。在单行中传递多个参数