绑定文本框与state中的值(单向数据流)

编程入门 行业动态 更新时间:2024-10-27 13:24:23

上文已提到:

在 Vue 中,默认提供了v-model指令,可以很方便的实现 数据的双向绑定;但是,在 React 中,默认只是单向数据流,也就是 只能把 state 上的数据绑定到 页面,无法把 页面中数据的变化,自动同步回 state ; 如果需要把 页面上数据的变化,保存到 state,则需要程序员手动监听onChange事件,拿到最新的数据,手动调用this.setState({ }) 更改回去;案例:绑定文本框与state中的值(单向数据流)两种方式 方案1: 通过 事件参数 e 来获取方案2: 通过 ref 来获取
export default class BindEvent extends React.Component {constructor() {super();this.state = {msg: '你看,城南的花都开了,该你熬的也都熬过来了,所也别不高兴了'}}render() {return <div><h3>{this.state.msg}</h3><input className="form-control" type="text" value={this.state.msg} readOnly/><h3>获取input框中的值</h3><br/><h4>方案1: 通过 事件参数 e 来获取</h4><input className="form-control" type="text" value={this.state.msg} onChange={(e) => this.txtChanged(e)}/><h4>方案2: 通过 ref 来获取</h4><input className="form-control" type="text" value={this.state.msg} ref="txt" onChange={() => this._txtChanged()}/></div>}
//方案1: 通过 事件参数 e 来获取txtChanged = (e) => {const newVal = e.target.value;this.setState({msg: newVal})};
//方案2: 通过 ref 来获取_txtChanged = () => {const newVal = this.refs.txt.value;this.setState({msg: newVal})};
}

更多推荐

数据流,绑定,文本框,state

本文发布于:2023-05-20 22:56:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/156763.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据流   绑定   文本框   state

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!