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_03(ExtJs Grid的简单使用)
Oct 02 Javascript
Aptana调试javascript图解教程
Nov 30 Javascript
JS实现方向键切换输入框焦点的方法
Aug 19 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
Oct 23 Javascript
Jquery中request和request.form和request.querystring的区别
Nov 26 Javascript
JavaScript中的Object对象学习教程
May 20 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
Apr 13 Javascript
微信小程序页面滑动屏幕加载数据效果
Nov 16 Javascript
jqgrid实现简单的单行编辑功能
Sep 30 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
Dec 08 Javascript
使用Vue组件实现一个简单弹窗效果
Apr 23 Javascript
ES6 Array常用扩展的应用实例分析
Jun 26 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
简单的过滤字符串中的HTML标记
2006/12/25 PHP
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
PHP面向对象精要总结
2014/11/07 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
python 简易计算器程序,代码就几行
2009/08/29 Python
Python正则表达式匹配ip地址实例
2014/10/09 Python
浅谈Python的文件类型
2016/05/30 Python
python实现简单的文字识别
2018/11/27 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
python顺序执行多个py文件的方法
2019/06/29 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
Python callable内置函数原理解析
2020/03/05 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
华为c/c++笔试题
2016/01/25 面试题
村安全生产责任书
2014/08/25 职场文书
干部对照检查材料范文
2014/08/26 职场文书
教师业务学习材料
2014/12/16 职场文书
拯救大兵瑞恩观后感
2015/06/09 职场文书
2016年社区“6.26”禁毒日宣传活动总结
2016/04/05 职场文书
关于JavaScript轮播图的实现
2021/11/20 Javascript
JavaScript实现队列结构过程
2021/12/06 Javascript