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 相关文章推荐
JQuery autocomplete 使用手册
Apr 01 Javascript
多个js与css文件的合并方法详细说明
Dec 26 Javascript
获取中文字符串的实际长度代码
Jun 05 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
Oct 28 Javascript
js创建jsonArray传输至后台及后台全面解析
Apr 11 Javascript
深入理解javascript中concat方法
Dec 12 Javascript
详解Angular2中Input和Output用法及示例
May 21 Javascript
jQuery 控制文本框自动缩小字体填充
Jun 16 jQuery
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
Apr 03 Javascript
JS实现字符串去重及数组去重的方法示例
Apr 21 Javascript
vue 解决异步数据更新问题
Oct 29 Javascript
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
PHP4中实现动态代理
2006/10/09 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
javascript 闭包
2011/09/15 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
canvas实现钟表效果
2017/02/13 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
Python正则表达式介绍
2012/08/06 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
校长就职演讲稿
2014/01/06 职场文书
还款承诺书范本
2015/01/20 职场文书
高校教师个人总结
2015/02/10 职场文书
党委工作总结2015
2015/04/27 职场文书
公司保密管理制度
2015/08/04 职场文书
商业计划书之服装
2019/09/09 职场文书