React 表单
-
-
处理表单
处理表单是关于数据更改值或提交时如何处理数据。在 HTML 中,表单数据通常由 DOM 处理。在 React 中,表单数据通常由组件处理。当数据由组件处理时,所有数据都以组件状态存储。您可以通过在 onChange 属性中添加事件处理程序来控制更改。在 onChange 属性中添加事件处理程序,并让事件处理程序更新状态对象:注意:必须先在构造函数方法中初始化状态,然后才能使用它。
注意:您可以使用 event.target.value 语法访问字段值。
-
有条件的渲染
如果不想在用户完成任何输入之前显示 h1 元素,则可以添加 if 语句。查看下面的示例,并注意以下几点:1.我们创建一个空变量,在本示例中,我们将其称为 header。2.如果用户进行了任何输入,我们添加一条 if 语句以将内容插入到 header 变量中。3.我们使用花括号将标题变量插入输出中。仅在定义了用户名的情况下显示标题: -
提交表单
您可以通过在 onSubmit 属性中添加事件处理程序来控制 Submit 操作。在 onSubmit 属性中添加一个提交按钮和一个事件处理程序:请注意,我们使用 event.preventDefault() 来防止实际提交表单。
-
多个输入字段
您可以通过向每个元素添加名称属性来控制多个输入字段的值。在构造函数中初始化状态时,请使用字段名称。要访问事件处理程序中的字段,请使用 event.target.name 和 event.target.value 语法。要在 this.setState 方法中更新状态,请在属性名称周围使用方括号 [bracket notation]。用两个输入字段编写一个表单:注意,我们为两个输入字段使用了相同的事件处理函数,我们可以为每个输入字段编写一个事件处理函数,但这为我们提供了更简洁的代码,这是 React 中的首选方式。
-
-
-
文本框
React 中的 textarea 元素与普通 HTML 稍有不同。在 HTML 中,textarea 的值是开始标记 <textarea> 和结束标记 </textarea> 之间的文本,在 React textarea 的值放置在 value 属性中。一个简单的文本区域,在构造函数中初始化了一些内容: -
选择框
React 中的下拉列表或选择框也与 HTML 有所不同。在 HTML 中,下拉列表中的选定值是使用 selected 属性定义的:在 React 中,所选值是通过 selected 标签上的 value 属性定义的。一个简单的选择框,其中在构造函数中初始化了所选值 “Volvo”: -