diff --git a/src/checkbox-group/index.js b/src/checkbox-group/index.js index b61a7d1e2..0f52b2717 100644 --- a/src/checkbox-group/index.js +++ b/src/checkbox-group/index.js @@ -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); } },