[new feature] Checkbox: support config the maximum amount of checked options (#631)

This commit is contained in:
MaStone
2018-02-09 20:49:38 +08:00
committed by neverland
parent f658204cc5
commit e0664d7f82
7 changed files with 101 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
<template>
<van-checkbox-group v-model="result">
<van-checkbox-group v-model="result" :max="max">
<van-checkbox v-for="(item, index) in list" :key="index" :name="item" :disabled="index === 2">复选框{{item}}</van-checkbox>
</van-checkbox-group>
</template>
@@ -22,7 +22,8 @@ export default {
'c',
'd'
],
result: ['a', 'b']
result: ['a', 'b'],
max: 0
};
}
};

View File

@@ -67,6 +67,23 @@ describe('CheckboxGroup', () => {
});
});
it('click on unchecked item and checked options num beyond max', (done) => {
wrapper = mount(CheckboxTestComponent);
wrapper.setData({
'max': 2
});
const lastCheckboxLabel = wrapper.find('.van-checkbox')[3].find('.van-checkbox__label')[0];
lastCheckboxLabel.trigger('click');
wrapper.update();
wrapper.vm.$nextTick(() => {
expect(wrapper.vm.result.indexOf('d')).to.equal(-1);
done();
});
});
it('click on disabled item', (done) => {
wrapper = mount(CheckboxTestComponent);