一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - react實現復選框全選和反選組件效果

react實現復選框全選和反選組件效果

2021-08-31 16:35#麻辣小龍蝦# JavaScript

這篇文章主要為大家詳細介紹了react實現復選框全選和反選組件效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了react實現復選框全選和反選組件的具體代碼,供大家參考,具體內容如下

運行效果圖如下:

react實現復選框全選和反選組件效果

代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import React, { Component } from 'react';
import { withRouter } from 'react-router-dom';
// import Menu from '../menu/Menu.jsx';
class List extends Component {
 constructor () {
 super();
 this.state = {
  title: '我是List的標題',
  content: '我是內容部分部分',
  chooseAll: false, // 全選標志
  inters: ['bsball', 'ymball', 'fbball'], // 頁面加載默認選中項
  intersAll: ['bsball', 'ymball', 'ppball', 'fbball'],
  fchoose: false // 正反選標志
 };
 }
 // 全選
 chooseAll (event) {
 let {checked, value} = event.target;
 let chooseAll = this.state.inters.length === 4 ? true : false;
 let inters = ['bsball', 'ymball', 'ppball', 'fbball'];
 checked ? (
  this.setState({
  inters,
  chooseAll: checked
  })
 ) : (
  this.setState({
  inters: [],
  chooseAll: checked
  })
 );
 }
 // 點擊復選框
 chooseInter (event) {
 let val = event.target.value;
 let checked = event.target.checked;
 let {inters} = this.state;
 // event.stopPropagation();
 // 選中復選框并且值不在數組里面
 if (checked && !this.state.inters.includes(val)) {
  inters.push(val);
 } else {
  // 取消選中的選項
  inters = inters.filter(v => val !== v);
 }
 let chooseAll = inters.length === 4 ? true : false;
 console.log(inters);
 this.setState({
  inters,
  chooseAll
 });
 }
 // 反選處理
 fchooseHandle (event) {
 let {checked, value} = event.target;
 let {inters, intersAll} = this.state;
 let chooseAll = this.state.inters.length === 4 ? true : false;
 let arr = []; // 反選結果
 this.setState({
  fchoose: checked,
  chooseAll
 });
 intersAll.forEach(item => {
  if (!inters.includes(item)) {
  arr.push(item);
  }
 });
 this.setState({
  inters: arr
 });
 }
 componentWillMount () {
 let chooseAll = this.state.inters.length === 4 ? true : false;
 this.setState({
  chooseAll
 });
 }
 render () {
 return (
  <div className="list">
  {/* <Menu /> */}
  <h1>{this.state.title}</h1>
  <p>{this.state.content}</p>
  <p>
   <label>
   <input type="checkbox" value="bsball" checked={this.state.fchoose} onClick={this.fchooseHandle.bind(this)}/>{this.state.fchoose ? '取消反選' : '反選'}
   </label>
   <label>
   <input type="checkbox" value="bsball" checked={this.state.chooseAll} onClick={this.chooseAll.bind(this)}/>{this.state.chooseAll ? '取消全選' : '全選'}
   </label>
  </p>
  <p>
   <label>
   <input type="checkbox" value="bsball" checked={this.state.inters.includes('bsball')} onClick={this.chooseInter.bind(this)}/>籃球
   </label>
   <label>
   <input type="checkbox" value="ymball" checked={this.state.inters.includes('ymball')} onClick={this.chooseInter.bind(this)}/>羽毛球
   </label>
   <label>
   <input type="checkbox" value="ppball" checked={this.state.inters.includes('ppball')} onClick={this.chooseInter.bind(this)}/>兵乓球
   </label>
   <label>
   <input type="checkbox" value="fbball" checked={this.state.inters.includes('fbball')} onClick={this.chooseInter.bind(this)}/>足球
   </label>
  </p>
  </div>
 );
 }
}
export default withRouter(List);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/CodingNoob/article/details/88106500

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99在线观看视频免费精品9 | 精品国产91高清在线观看 | 华人亚洲欧美精品国产 | 亚洲狠狠综合久久 | 视频一区久久 | 1024在线视频精品免费 | 欧美视频在线一区二区三区 | 欧美日韩国产亚洲一区二区 | 四虎影视免费观看免费观看 | 欧美高清3dfreexxxx性 | 美女和男人免费网站视频 | 天天干天天日天天射天天操毛片 | 国产精品欧美韩国日本久久 | 国产欧美一区二区成人影院 | 久久黄色小视频 | 国产亚洲视频在线 | 国产成人精品免费2021 | 亚洲国产高清视频 | 99九九成人免费视频精品 | 欧美最猛性xxxxx短视频 | 日本视频在线观看播放 | 亚州精品永久观看视频 | 强制高h | 免费高清在线 | 成年人在线视频免费观看 | 亚洲视频中文 | 久久aa毛片免费播放嗯啊 | 九九99热 | 日本中文字幕二区三区 | 国产射频放大器 | 娇妻与公陈峰姚瑶最新版 | 日日碰日日操 | 美国艳星lisann成人作品 | 亚洲激情一区 | 国产精品福利久久2020 | 美女精品永久福利在线 | 99久久免费精品视频 | 免费毛片 | 色播艾小青国产专区在线播放 | 青青草一区二区免费精品 | 午夜dj免费视频观看社区 |