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 ie6兼容position:fixed实现思路
Apr 01 Javascript
jquery实现人性化的有选择性禁用鼠标右键
Jun 30 Javascript
jQuery对象的length属性用法实例
Dec 27 Javascript
jQuery中:file选择器用法实例
Jan 04 Javascript
Node.js中的流(Stream)介绍
Mar 30 Javascript
JavaScript截取、切割字符串的技巧
Jan 07 Javascript
easyui tree带checkbox实现单选的简单实例
Nov 07 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
Mar 13 Javascript
node文字生成图片的示例代码
Oct 26 Javascript
React Native之prop-types进行属性确认详解
Dec 19 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 Javascript
浅谈layer弹出层按钮颜色修改方法
Sep 11 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
PHPlet在Windows下的安装
2006/10/09 PHP
用PHP函数解决SQL injection
2006/10/09 PHP
如何隐藏你的.php文件
2007/01/04 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
Javascript----文件操作
2007/01/18 Javascript
js 浮动层菜单收藏
2009/01/16 Javascript
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
JS实现多功能计算器
2020/10/28 Javascript
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
设置python3为默认python的方法
2018/10/31 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
函数指针的定义是什么
2016/08/14 面试题
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
大学自我鉴定范文
2013/12/26 职场文书
外企求职信范文分享
2013/12/31 职场文书
采购类个人求职的自我评价
2014/02/18 职场文书
企业党员个人自我评价
2014/09/20 职场文书
前台接待员岗位职责
2015/04/15 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
pytorch Dropout过拟合的操作
2021/05/27 Python
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技