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打开新窗口同时关闭旧窗口
Jan 16 Javascript
JavaScript判断文件上传类型的方法
Sep 02 Javascript
zepto.js中tap事件阻止冒泡的实现方法
Feb 12 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
Apr 02 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
Sep 10 Javascript
JS获取和修改元素样式的实例代码
Aug 06 Javascript
微信js-sdk地理位置接口用法示例
Oct 12 Javascript
探究Vue.js 2.0新增的虚拟DOM
Oct 20 Javascript
JS验证不重复验证码
Feb 10 Javascript
jquery设置css样式的多种方法(总结)
Feb 21 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
Sep 26 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
Jul 25 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
星际原理概述
2020/03/04 星际争霸
PHP Squid中可缓存的动态网页设计
2008/09/17 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
php上传图片获取路径及给表单字段赋值的方法
2016/01/23 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
非常好的js代码
2006/06/27 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
Vue中的Props(不可变状态)
2018/09/29 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
Python实现把数字转换成中文
2015/06/29 Python
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Python 爬虫模拟登陆知乎
2016/09/23 Python
python线程中同步锁详解
2018/04/27 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
大学生个人自我鉴定
2013/12/03 职场文书
就业表自我评价分享
2014/02/06 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
财务部岗位职责范本
2015/04/14 职场文书
祝寿主持词
2015/07/02 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
element多个表单校验的实现
2021/05/27 Javascript
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
Win11快速关闭所有广告推荐
2022/04/19 数码科技