4-form表单的双向绑定
概念:表单中的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值
}
//错误写法
//会报错,不支持这样写
4-form表单的双向绑定的更多相关文章
- Angular11 模板表单、响应式表单(自定义验证器)、HTTP、表单元素双向绑定
1 模板表单 模型通过指令隐式创建 技巧01:需要在模块级别引入 FormsModule ,通常在共享模块中引入再导出,然后在需要用到 FormsModule 的模块中导入共享模块就可以啦 impor ...
- jquery获取form表单内容以及绑定数据到form表单
在日常开发的过程中,难免会用到form表单,我们需要获取表单的数据保存到数据库,或者拿到后台的一串json数据,要将数据绑定到form表单上,这里我写了一个基于jquery的,formHelp插件,使 ...
- VUE 表单元素双向绑定总结
checkbox最基本用法: <input type="checkbox" v-model="inputdata" checked/> <in ...
- react引用antd的form表单
引用form是第三方插件ant插件,官网网址:https://ant.design/.用到的antd的版本是@2.0.1.form(https://ant.design/components/form ...
- antd 父组件获取子组件中form表单的值
还是拿代码来讲吧,详情见注释 子组件 import React, { Component } from 'react'; import { Form, Input } from 'antd'; con ...
- 2017-01-11小程序form表单提交
小程序form表单提交 1.小程序相对于之前的WEB+PHP建站来说,个人理解为只是将web放到了微信端,用小程序固定的格式前前端进行布局.事件触发和数据的输送和读取,服务器端可以用任何后端语言写,但 ...
- 微信小程序 PHP后端form表单提交实例详解
微信小程序php后端form表单 https://www.cnblogs.com/tdalcn/p/7092716.html 1.小程序相对于之前的WEB+PHP建站来说,个人理解为只是将web放到了 ...
- 小程序 <web-view></web-view> 中使用 form 表单提交
在最近的小程序项目中,使用到了 <web-view></web-view> 内嵌 H5 页面,在 H5 中需要使用 form 表单提交数据. H5 使用的技术框架是 vue+v ...
- vue form表单绑定事件与方法
使用v-on绑定事件 <button @click="hello">Hello</button><br /> <button @click ...
随机推荐
- 502,csssprite是什么,有什么优缺点
(百科:csssprite是一种网页图片应用处理方式,国内常叫css精灵.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢 ...
- go基础_接口断言
// interface package main import ( "fmt" ) //定义一个接口,接口名字Inter,接口的方法集有2个方法 type Inter inter ...
- 数论算法 Plus
好像有不少更新:) 本文主要记录一些不是那么熟悉的高级数论算法的推导与应用. exBSGS算法 解决模数.底数不互质的离散对数问题. (1)为何\(BSGS\)算法不再适用:\(A\)不一定存在逆元, ...
- Django - 美化显示request.META
def index(request): values = request.META.items() html = [] for k, v in values: html.append('<tr& ...
- mysql 查询结果保存为表
mysql> create table stunow select distinct 学号,姓名,密码 from stu12to15 ;
- IIS-反向代理简介
参考:https://www.williamlong.info/archives/5353.html 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后 ...
- 17,a:img的alt和title有何异同? b:strong与en的异同?
alt(alt text):为不能显示的图像,窗体或者applets的用户代理,alt属性用来指定替换文字.替换文字的语言用lang属性来指定. eg:下例中将图像作为链接来使用 <a href ...
- jmeter beanshell 使用参数引用
1.直接使用beanshell 写代码引用: 2. beanshell 引用.java 文件 3.beanshell 引用jar 包
- SQLite - C/C++接口 API(二)
1.打开数据库 SQLITE_API int sqlite3_open16( const void *filename, /* Database filename (UTF-16) */ sqlite ...
- Vue CLI 3搭建vue+vuex 最全分析
一.介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@vue/cli 全局安装的 npm 包,提供了终端里的vue命令(如:vue create .vue ...