diff --git a/src/components/checkbox/checkbox-group.vue b/src/components/checkbox/checkbox-group.vue index 4fe2649..74f9900 100644 --- a/src/components/checkbox/checkbox-group.vue +++ b/src/components/checkbox/checkbox-group.vue @@ -40,6 +40,7 @@ change (data) { this.model = data; this.$emit('on-change', data); + this.$dispatch('on-form-change', data); } }, watch: { diff --git a/src/components/checkbox/checkbox.vue b/src/components/checkbox/checkbox.vue index 3f126fc..853925a 100644 --- a/src/components/checkbox/checkbox.vue +++ b/src/components/checkbox/checkbox.vue @@ -94,6 +94,7 @@ this.$parent.change(this.model); } else { this.$emit('on-change', this.checked); + this.$dispatch('on-form-change', this.checked); } }, updateModel () { diff --git a/test/routers/form.vue b/test/routers/form.vue index 7e93294..6d322fd 100644 --- a/test/routers/form.vue +++ b/test/routers/form.vue @@ -30,6 +30,26 @@ </Radio> </Radio-group> </form-item> + <form-item label="checkbox-g" prop="checkboxgroup"> + <Checkbox-group :model.sync="form.checkboxgroup"> + <Checkbox value="twitter"> + <Icon type="social-twitter"></Icon> + <span>Twitter</span> + </Checkbox> + <Checkbox value="facebook"> + <Icon type="social-facebook"></Icon> + <span>Facebook</span> + </Checkbox> + <Checkbox value="github"> + <Icon type="social-github"></Icon> + <span>Github</span> + </Checkbox> + <Checkbox value="snapchat"> + <Icon type="social-snapchat"></Icon> + <span>Snapchat</span> + </Checkbox> + </Checkbox-group> + </form-item> <form-item> <i-button type="primary" @click="onSubmit('form')">提交</i-button> </form-item> @@ -45,7 +65,8 @@ mail: '', passwd: '', single: false, - group: '' + group: '', + checkboxgroup: [] }, rules: { mail: [ @@ -68,6 +89,14 @@ { required: true, message: '请单选组' } + ], + checkboxgroup: [ + { + required: true, message: '至少选择2个', min: 2, type: 'array', + }, + { + required: true, message: '至多选择3个', max: 3, type: 'array' + } ] } } -- libgit2 0.21.4