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 相关文章推荐
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
May 14 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
Sep 29 Javascript
javascript去掉前后空格的实例
Nov 07 Javascript
Jquery如何实现点击时高亮显示代码
Jan 22 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
Sep 01 Javascript
js脚本实现数据去重
Nov 27 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
Jul 18 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
Oct 27 Javascript
用angular实现多选按钮的全选与反选实例代码
May 23 Javascript
慕课网题目之js实现抽奖系统功能
Sep 19 Javascript
vue实现图片加载完成前的loading组件方法
Feb 05 Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 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
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
php时间戳转换代码详解
2019/08/04 PHP
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
2018/07/31 NodeJs
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
python使用webbrowser浏览指定url的方法
2015/04/04 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
python中的for循环
2018/09/28 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
Python assert语句的简单使用示例
2019/07/28 Python
python 项目目录结构设置
2020/02/14 Python
利用Python函数实现一个万历表完整示例
2021/01/23 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
应届生服装设计自我评价
2013/09/20 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
优秀士兵先进事迹
2014/02/06 职场文书
新教师工作感言
2014/02/16 职场文书
社区工作者感言
2014/03/02 职场文书
物资采购方案
2014/06/12 职场文书
法制宣传标语集锦
2014/06/25 职场文书
运动会演讲稿50字
2014/08/25 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书