feat(Checkbox): improve toggleAll perf (#5285)

This commit is contained in:
neverland 2019-12-16 20:00:36 +08:00 committed by GitHub
parent 50b4116ca5
commit 9cd06f3b20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,10 +24,20 @@ export default createComponent({
},
methods: {
// @exposed-api
toggleAll(checked) {
this.children.forEach(item => {
item.toggle(checked);
});
if (checked === false) {
this.$emit('input', []);
return;
}
let { children } = this;
if (!checked) {
children = children.filter(item => !item.checked);
}
const names = children.map(item => item.name);
this.$emit('input', names);
}
},