首页 >> js开发 >> jsreact实现复选框全选和反选组件效果js大全
jsreact实现复选框全选和反选组件效果js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
本文实例为大家分享了react实现复选框全选和反选组件的具体代码,供大家参考,具体内容如下运行效果图如下:代码:
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 (
{/* */}
);
}
}
export default withRouter(List);
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 (
{/* */}
);
}
}
export default withRouter(List); 以上就是本文的全部内容,希望对大家的学习有所帮助。
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 (
{/* */}
{this.state.title}
{this.state.content}
);
}
}
export default withRouter(List);
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 (
{/* */}
{this.state.title}
{this.state.content}
);
}
}
export default withRouter(List); 以上就是本文的全部内容,希望对大家的学习有所帮助。
相关文章:
- js微信小程序基于ColorUI构建皮皮虾短视频去水印组件js大全
- jsaxios解决高并发的方法:axios.all()与axios.spread()的操作js大全
- js微信小程序中target和currentTarget的区别小结js大全
- jsnuxt静态部署打包相对路径操作js大全
- js解决nuxt页面中mounted、created、watch执行两遍的问题js大全
- js解决VUE 在IE下出现ReferenceError: Promise未定义的问题js大全
- JavaScriptNuxt.js的路由跳转操作(页面跳转nuxt-link)
- JavaScriptNodejs + sequelize 实现增删改查操作
- js微信小程序调用后台service教程详解js大全
- js解决VUE项目使用Element-ui 下拉组件的验证失效问题js大全