react 全选_react实现全选、取消全选和个别选择

react里面实现全选和取消全选,个别选择等操作,效果如下

代码:

import React, {Component} from 'react'

export default class Demo extends React.Component{

constructor(props,context){

super(props,context);

this.state = {

checklist:[

{name:'全选',checked:false},

{name:'张三',checked:false},

{name:'李四',checked:false},

{name:'王五',checked:false},

]

}

}

render(){

let _self = this;

return (

这是全选取消全选的demo

{

this.state.checklist.length?

this.state.checklist.map(function(item,index){

return

{item.name}

})

:''

}

)

}

checkThis(item){

item.checked = !item.checked;

if(item.name==='全选'){ // 如果点击的是全选,就把所有的选中或全部取消勾选

if(item.checked){

this.state.checklist.forEach(i=>{

i.checked = true;

})

}else{

this.state.checklist.forEach(i=>{

i.checked = false;

})

}

}

// 如果全选之后,取消勾选其中的一个或多个,则会把全选也取消勾选掉

let result = this.state.checklist.some(j=>{

if(!j.checked){

return true;

}

})

if(result){

this.state.checklist[0].checked = false;

}

let len = this.state.checklist.length

let ev = true;

for(let a=1;a

if(!this.state.checklist[a].checked){

ev = false;

}

}

if(ev){

this.state.checklist[0].checked = true;

}

this.setState({ // 每点击一次更新状态

checklist:this.state.checklist

})

} }

若有更优化的方案,欢迎提出~

Jquery CheckBox复选框 全选/取消全选 最佳实现方式 参考案例

全选/取消全选

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值