标签:dem cti 支持 使用 change als creat tar 用户
声明,本博客摘自:https://segmentfault.com/a/1190000002675685
表单组件像 input、textarea 不同于其它的原生组件,因为它们会随着用户交互而改变。这些组件提供了接口方便我们管理这些交互。
表单组件提供了一些受用户交互影响的属性
select的状态改变
var InputDemo = React.createClass({
render: function () {
return (
<input type="text" value="Hello!"/>
);
}
});
React.render(
<InputDemo />,
document.body
);
渲染完成后,input里会一直显示Hello!,用户的任何输入都是无效的。如果你想随着用户的输入改变,使用onChange事件
var InputDemo = React.createClass({
getInitialState: function () {
return {value: 'Hello!'}
},
render: function () {
return (
<input type="text" onChange={this.handleChange} value={this.state.value}/>
);
},
handleChange: function (event) {
this.setState({value: event.target.value});
}
});
React.render(
<InputDemo />,
document.body
);
value没有值或者值设为null的input是一个不受控组件。用户的任何输入都会反映到输入框中
var InputDemo = React.createClass({
render: function () {
return (
<input type="text" value={null}/>
);
}
});
React.render(
<InputDemo />,
document.body
);
这个时候也可以监听onChange事件,内容的改变也会触发事件。
可以通过defaultValue给input设置默认值
var InputDemo = React.createClass({
render: function () {
return (
<input type="text" defaultValue="xxx"/>
);
}
});
React.render(
<InputDemo />,
document.body
);
标签:dem cti 支持 使用 change als creat tar 用户
原文地址:https://www.cnblogs.com/huihuihero/p/10921746.html