ReactJS实现表单的单选多选和反选的示例


Posted in Javascript onOctober 13, 2017

本文介绍了ReactJS实现表单的单选多选和反选的示例,分享给大家,希望对大家有所帮助。
需求是对列表实现单选,反选和多选,全部清除的操作

...... 
 this.state = {
   //初始化空数组,表示已经选择的
   selectedStores:[],
  }

......

handleClick(e){

 const newSelection = e.target.value;//拿到点击的具体一项

 let newSelectionArray;//新建一个空数组

//判断点击项是否为选择状态,是的话清除选中状态

 if(this.state.selectedStores.indexOf(newSelection) > -1) {

  newSelectionArray =

  this.state.selectedStores.filter((s:any) => s !== newSelection)

} else {

//不是的话就加入新选择数组

  newSelectionArray =

  [...this.state.selectedStores, newSelection];

}

 this.setState({
// 新选择数组统一改为选中状态
  selectedStores: newSelectionArray

 });

}

Array.prototype.indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

语法:

arr.indexOf(searchElement)
arr.indexOf(searchElement[, fromIndex = 0])

Array.prototype.filter()方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

语法:

var new_array = arr.filter(callback[, thisArg])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 精粹读书笔记(1,2)
Feb 07 Javascript
js 异步操作回调函数如何控制执行顺序
Dec 24 Javascript
javascript模拟枚举的简单实例
Mar 06 Javascript
javascript制作的网页侧边弹出框思路及实现代码
May 21 Javascript
javascript精确统计网站访问量实例代码
Dec 19 Javascript
使用canvas及js简单生成验证码方法
Apr 02 Javascript
微信小程序中的swiper组件详解
Apr 14 Javascript
实现单层json按照key字母顺序排序的示例
Dec 06 Javascript
使用Vue写一个datepicker的示例
Jan 27 Javascript
深入浅析Vue全局组件与局部组件的区别
Jun 15 Javascript
玩转Koa之koa-router原理解析
Dec 29 Javascript
vue中如何自定义右键菜单详解
Dec 08 Vue.js
Angular.js通过自定义指令directive实现滑块滑动效果
Oct 13 #Javascript
捕获未处理的Promise错误方法
Oct 13 #Javascript
解决ie img标签内存泄漏的问题
Oct 13 #Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
Oct 13 #jQuery
vue2组件之select2调用的示例代码
Oct 12 #Javascript
vue2.x select2 指令封装详解
Oct 12 #Javascript
一个简易时钟效果js实现代码
Mar 25 #Javascript
You might like
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
jquery.validate分组验证代码
2011/03/17 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
Flask数据库迁移简单介绍
2017/10/24 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
2020/04/07 HTML / CSS
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
构造器Constructor是否可被override?
2013/08/06 面试题
医药专业应届毕业生求职信范文
2014/01/01 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
小学生演讲稿大全
2014/04/25 职场文书
小学数学课题方案
2014/06/15 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
授权委托书协议书
2014/10/16 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server
python中validators库的使用方法详解
2022/09/23 Python