`

React 处理form表单input输入项双向数据绑定

阅读更多
 <form method="post" autoComplete="off" encType="multipart/form-data" onSubmit={this.onSubmit.bind(this)}>
    <div className={ 'title bl-line' + (state.activeInput == 'subject' ? ' active' : '') }>
      <input type="text" placeholder="标题" value={ state.form.subject } onChange={ this.setStateByKey.bind(this, 'subject') } onFocus={ this.setActiveInput.bind(this, 'subject') } onBlur={ this.setActiveInput.bind(this, '') } />
    </div>
    <div className={ 'subject bl-line' + (state.activeInput == 'message' ? ' active' : '') }>
      <textarea placeholder="内容" value={ state.form.message } onChange={ this.setStateByKey.bind(this, 'message') } onFocus={ this.setActiveInput.bind(this, 'message') } onBlur={ this.setActiveInput.bind(this, '') } />
    </div>
    <div className={ 'module bl-line' + (state.activeInput == 'fid' ? ' active' : '') }>
      <select value={ state.form.fid } onChange={ this.setStateByKey.bind(this, 'fid') } onFocus={ this.setActiveInput.bind(this, 'fid') } onBlur={ this.setActiveInput.bind(this, '') }>
        <option value="0">选择版块</option>
        {
          Object.keys(modules).map((key) => (
            modules[key].map((item) => (
              <option key={item.fid} value={item.fid}>{item.name}</option>
            ))
          ))
        }
      </select>
    </div>
 </form>



// 双向数据绑定核心
setStateByKey(k, e) {
  let newForm = this.state.form;
  newForm[k] = e.target.value;
  this.setState({
    form: newForm
  });
}

 



有疑问或技术交流,扫描公众号一起讨论学习。

更多React在线学习访问:http://each.sinaapp.com/react/index.html


更多实例应用扫码体验:

分享到:
评论

相关推荐

    【JavaScript源代码】浅谈React双向数据绑定原理.docx

    在 Vue 中,双向数据绑定是通过 `Object.defineProperty`(在 Vue 2.x 中)或 `Proxy`(在 Vue 3.x 中)来实现的,而 React 需要开发者手动处理数据与视图间的交互。 **什么是双向数据绑定** 双向数据绑定意味着...

    1-4、React中form表单下的input框初使用以及列表渲染

    【标题】: "1-4、React中form表单下的input框初使用以及列表渲染" 【描述】: "本文档是React系列教程的一部分,涵盖了React环境的搭建、JSX语法、属性绑定、事件处理等内容。文章通过一个小项目,展示了如何在React...

    react-form:用于表单验证的react组件

    React Form 是一个专门为React开发的库,用于处理和验证用户输入的表单数据。它简化了在React应用程序中创建交互式、动态表单的过程,并且提供了强大的验证功能。在这个库的帮助下,开发者可以更加灵活和高效地管理...

    React 使用Hooks简化受控组件的状态绑定

    在React开发中,受控组件是一种常见的处理表单数据的方式,它是指表单元素的状态完全由React组件的state控制。这种方式使得数据校验和管理变得简单且统一。然而,在使用类组件时,处理受控组件的状态绑定可能会变得...

    react-reactchangehandler在状态组件中让react表单开发变得更容易

    在React开发中,表单处理是一项常见的任务,但往往涉及到繁琐的事件处理和状态管理。`react-changehandler`库正是为了解决这个问题而设计的,它使得在状态组件中处理表单变化变得更加简单和直观。这个库的核心理念是...

    这个repo是我的React.js受控表单组件帖子的代码。_JavaScript_HTML_下载.zip

    受控组件是React中处理表单数据的一种方式,它们将每个表单元素的值与React组件的状态直接绑定。当用户在表单中输入时,React会控制这些值的变化,确保每次改变都会触发重新渲染,这样组件可以即时反映最新的输入...

    源码解析之rc-field-form解读与实现

    - **双向数据绑定**: `rc-field-form`通过`valuePropName`和`initialValue`实现双向数据绑定,确保表单状态与组件状态同步。 - **动态渲染**: 支持动态增删表单项,方便构建可配置的表单。 - **验证机制**: 当...

    PHP表单生成器,快速生成现代化的form表单

    3. 输入框(Input Field):用户可以输入文本、数字或其他数据。 4. 下拉选择框(Dropdown):提供一个列表供用户选择。 5. 省市区三级联动(Province-City-District Cascade):用于地理信息选择,自动根据前两级...

    使用React和Redux的表单变得简单

    在React中,表单元素的值通常绑定到组件的状态,当用户交互时,状态会自动更新。然而,这种方式并不适合复杂的表单场景,如实时验证、异步操作或需要跨组件共享状态的情况。 这就是Redux发挥作用的地方。通过将表单...

    7-1 表单处理上.zip

    9. **MVC(模型-视图-控制器)框架**:许多Web开发框架,如Angular、React或Vue.js,都提供了处理表单的简便方式,它们将数据绑定、验证和事件处理等集成在一起,简化了开发流程。 10. **RESTful API设计**:在现代...

    JSON生成Form表单的方法示例

    JSON生成Form表单是一种高效的方法,特别是在React等前端框架中,它可以极大提高开发效率和代码复用性。本文将深入探讨这种方法,以及如何利用JSON数据结构来构建动态、灵活的表单。 首先,JSON表单描述是一种将...

    在表单中模拟键盘输入,可以用做银行账号输入HTML代码

    1. **HTML表单基础**:HTML表单是网页与用户交互的主要手段,通过`&lt;form&gt;`标签定义,`&lt;input&gt;`、`&lt;textarea&gt;`等元素用于接收用户输入。对于银行账号这样的敏感信息,通常使用`type="number"`的`&lt;input&gt;`元素,限制...

    react-ReactEvent声明式的方式来处理React组件外部内部事件

    总的来说,React的事件处理机制通过声明式的方式来简化了事件绑定,使组件更加模块化,同时也提供了跨浏览器兼容的合成事件。了解并熟练运用这些机制,可以提高React应用的开发效率和可维护性。在实际项目中,根据...

    【JavaScript源代码】react+antd.3x实现ip输入框.docx

    每个`Input`组件都绑定了对应的事件处理器,如`onChange`和`onKeyUp`,以处理输入和焦点移动。 通过这个实例,我们可以看到如何利用React和Ant Design库构建一个具有特定行为的复杂表单组件,同时也展示了React组件...

    【JavaScript源代码】React获取input值并提交的2种方法实例.docx

    2. **监听输入变化**:通过为`&lt;input&gt;`元素绑定`onChange`事件,每当输入框中的内容发生变化时,都会调用`handleGetInputValue`方法。该方法接收一个事件对象`event`作为参数,通过`event.target.value`获取输入框...

    antd-input-tag.zip

    7. **与表单控件集成**:可以将InputTag与其他Antd表单组件如`Form.Item`配合使用,实现表单验证和数据绑定。 综上所述,"antd-input-tag"组件是React开发中处理标签输入和管理的强大工具,它的灵活性和易用性使其...

    React数据传递之组件内部通信的方法

    Angular 设计之初的一大亮点就是实现了数据的双向绑定,使用 Vue 一段时间后发现,所谓数据的双向绑定,组件内部唯一的应用场景就是 form 表单(input,textarea,select, radio),而这种场景下的数据双向绑定,...

    自定义表单的实现源代码

    一个基本的HTML表单包含`&lt;form&gt;`标签,其中可以嵌套`&lt;input&gt;`、`&lt;textarea&gt;`、`&lt;select&gt;`等元素来接收不同类型的用户输入。表单通过`action`属性指定数据提交的URL,`method`属性定义数据传输方式(GET或POST)。 ...

    JavaScript动态增减表单项

    表单(`&lt;form&gt;`)用于收集用户输入的数据,其中包含各种表单项,如文本框(`&lt;input type="text"&gt;`)、复选框(`&lt;input type="checkbox"&gt;`)、单选按钮(`&lt;input type="radio"&gt;`)、下拉列表(`&lt;select&gt;`)等。...

    React-Redux-Form:如何在React和Redux中创建表单的基本代码

    它还提供了与React组件的绑定,使得表单元素可以响应用户输入并更新store中的数据。 安装`Redux-Form`库非常简单,可以通过npm或yarn进行: ```bash npm install redux-form # 或 yarn add redux-form ``` 接着,...

Global site tag (gtag.js) - Google Analytics