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做flash做的事..才完成的一个类.Auntion Action var 0.1
Feb 23 Javascript
Ext 表单布局实例代码
Apr 30 Javascript
javascript 解析后的xml对象的读取方法细解
Jul 25 Javascript
简单的代码实现jquery定时器
Jan 03 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
Jan 28 Javascript
使用Web Uploader实现多文件上传
Jun 08 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
Oct 31 Javascript
Javascript中从学习bind到实现bind的过程
Jan 05 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
Sep 21 Javascript
OpenLayer3自定义测量控件MeasureTool
Sep 28 Javascript
vue使用refs获取嵌套组件中的值过程
Mar 31 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
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
jQuery 表单验证扩展(四)
2010/10/20 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
JS之相等操作符详解
2016/09/13 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
Python变量赋值的秘密分享
2018/04/03 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
应用英语专业自荐信
2014/01/26 职场文书
经典婚礼主持词
2014/03/13 职场文书
应届生自荐书
2014/06/23 职场文书
校园运动会广播稿
2015/08/19 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
MYSQL如何查看操作日志详解
2022/05/30 MySQL