概念:表单中的input框等其他标签,值变化时会触发函数,改变state中的值,反过来修改state中的值也会改变input框中值的展现

实现:利用类组件里的state属性来实现(setState会再次渲染)  利用input框中的checked属性改变选中状态

文本输入框: 
用户名:<input type="text" value={this.state.inputvalue} onChange={this.inputchange}/>
触发函数:
inputchange = (e)=>{
console.log(e);
console.log(e.target.value);
this.setState({inputvalue:e.target.value}); //改变state中的值
}
单选框:
如何做到互斥?利用name属性,值一样,属于一组,自动互斥
性别:<input type="radio" value='男' checked={this.state.gendervalue==='男'?true:false} onChange={this.genderchange} name='gender'/>男
性别:<input type="radio" value='女' checked={this.state.gendervalue==='女'?true:false} onChange={this.genderchange} name='gender'/>女
触发函数:
genderchange = (e)=>{
console.log(e.target.value);
this.setState({gendervalue:e.target.value});//设置state的值
}
复选框:
爱好:{this.state.hobby.map((item,index)=>{
return (
<span> <input type='checkbox' value={item.name} checked={item.checked} onChange={this.hobbychange.bind(this,index)}/>{item.name} </span> );
}
触发函数:
hobbychange = (index,e)=>{
let hobbyc = this.state.hobby; //先用变量接收state的值,再修改值
hobbyc[index].checked = !hobbyc[index].checked;
this.setState({hobby:hobbyc}); //再把变量赋值给state值
}
//错误写法
this.setState({hobby[index].checked:!hobby[index].checked});
//会报错,不支持这样写

最新文章

  1. js—模糊查询
  2. codeforces 732E(贪心)
  3. web前端响应式
  4. QT toLocal8Bit奇怪的问题
  5. 对OpenGL的GLFrame框架进行的扩展截至2014年11月29日
  6. servlet+ajax+json字符串后台传入,前端解析并把数据循环填入表格实例
  7. android开发关于和使用本机内存、内置存储卡和外置存储卡 (转)
  8. openSuse使用技巧
  9. Android L(5.0)源码之手势识别OnTouchListener
  10. Mysql之单表记录查询
  11. (function(){xxx})(); 写法解释
  12. 【线段树】Bzoj1798 [AHOI2009] 维护序列
  13. c# ListBox控件
  14. Notepadd ++ PluginManager安装
  15. webgl之观察三维空间
  16. maven配置阿里云仓库
  17. Supporting Right-to-Left Languages
  18. iptables的自定义链--子链
  19. 这可能是目前最全的Redis高可用技术解决方案总结
  20. java面试题08

热门文章

  1. 染色板QPlette
  2. 老大难的 Java ClassLoader,到了该彻底理解它的时候了
  3. go基础_切片
  4. 论STA | POCV/SOCV 对lib 的要求 (4)
  5. [Jenkins] TestComplete 使用Jenkins进行持续集成测试
  6. 7、Maven插件
  7. Python--比较两个字典部分value是否相等(可以用于接口自动化)
  8. Catalyst 6500/6000 Switches ARP or CAM Table
  9. Go之第三方日志库logrus使用
  10. PB调用.NET类库详解