日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

發布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 (<div className="ToDo"><div>這是全選取消全選的demo</div> {this.state.checklist.length?this.state.checklist.map(function(item,index){return <div key={index}><label><input type="checkbox" onChange={_self.checkThis.bind(_self,item)} checked={item.checked}/>{item.name}</label></div> }):''}</div> )}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.lengthlet ev = true;for(let a=1;a<len;a++){ // 遍歷,如果列表里除了第一個之外,其他的都勾選的話,就把全選按鈕也勾選掉if(!this.state.checklist[a].checked){ev = false;}}if(ev){this.state.checklist[0].checked = true;}
      
    this.setState({ // 每點擊一次更新狀態checklist:this.state.checklist})
}  } 

?若有更優化的方案,歡迎提出~

轉載于:https://www.cnblogs.com/leiting/p/10472327.html

總結

以上是生活随笔為你收集整理的react实现全选、取消全选和个别选择的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。