feat(CheckboxGroup): add toggleAll method (#4640)

This commit is contained in:
neverland
2019-09-30 14:47:35 +08:00
committed by GitHub
parent 9a79de0456
commit 1c5463150c
7 changed files with 240 additions and 114 deletions
+38 -3
View File
@@ -52,13 +52,14 @@ test('checkbox group', async () => {
const wrapper = mount({
template: `
<van-checkbox-group v-model="result" :max="2">
<van-checkbox v-for="item in list" :key="item" :name="item"></van-checkbox>
<van-checkbox name="a" />
<van-checkbox name="b" />
<van-checkbox name="c" />
</van-checkbox-group>
`,
data() {
return {
result: [],
list: ['a', 'b', 'c']
result: []
};
}
});
@@ -155,3 +156,37 @@ test('bind-group prop', async () => {
expect(wrapper.vm.result).toEqual([]);
expect(wrapper.vm.value).toBeTruthy();
});
test('toggleAll method', async () => {
const wrapper = mount({
template: `
<van-checkbox-group v-model="result" ref="group">
<van-checkbox name="a" />
<van-checkbox name="b" />
<van-checkbox name="c" />
</van-checkbox-group>
`,
data() {
return {
result: ['a']
};
},
methods: {
toggleAll(checked) {
this.$refs.group.toggleAll(checked);
}
}
});
wrapper.vm.toggleAll();
await later();
expect(wrapper.vm.result).toEqual(['b', 'c']);
wrapper.vm.toggleAll(false);
await later();
expect(wrapper.vm.result).toEqual([]);
wrapper.vm.toggleAll(true);
await later();
expect(wrapper.vm.result).toEqual(['a', 'b', 'c']);
});