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实现的网页局布刷新效果
Dec 01 Javascript
JavaScript 学习初步 入门教程
Mar 25 Javascript
javascript自执行函数之伪命名空间封装法
Dec 25 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
Oct 12 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
May 08 Javascript
给ListBox添加双击事件示例代码
Dec 02 Javascript
jquery实现用户信息修改验证输入方法汇总
Jul 18 Javascript
javascript每日必学之运算符
Feb 16 Javascript
echarts饼图扇区添加点击事件的实例
Oct 16 Javascript
vue element-ui读取pdf文件的方法
Nov 26 Javascript
JS正则表达式验证密码强度
Mar 18 Javascript
基于Vue实现微前端的示例代码
Apr 24 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
php 信息采集程序代码
2009/03/17 PHP
php $_SERVER["REQUEST_URI"]获取值的通用解决方法
2010/06/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
django使用admin站点上传图片的实例
2019/07/28 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
PyTorch如何搭建一个简单的网络
2020/08/24 Python
Python实现微信表情包炸群功能
2021/01/28 Python
印度在线购物网站:Paytmmall
2019/07/24 全球购物
高校毕业生自我鉴定
2013/10/27 职场文书
先进教师事迹材料
2014/12/16 职场文书
综合测评自我评价
2015/03/06 职场文书
给下属加薪申请报告
2015/05/15 职场文书
军事博物馆观后感
2015/06/05 职场文书
业余无线电通联Q语
2022/02/18 无线电