Checkbox: support change event

This commit is contained in:
陈嘉涵 2017-09-01 13:33:12 +08:00
parent c061e0fb26
commit ca9379de0d
2 changed files with 9 additions and 15 deletions

View File

@ -45,8 +45,7 @@ Vue.component(Checkbox.name, Checkbox);
### 代码演示
#### 基础用法
通过`v-model`绑定值即可。当`Checkbox`选中时,绑定的值即为`true`,否则为`false`。当单个`Checkbox`使用时,更建议使用`Switch`组件。
通过`v-model`绑定 checkbox 的勾选状态
:::demo 基础用法
```html

View File

@ -31,22 +31,23 @@ export default {
mixins: [findParent],
props: {
disabled: Boolean,
value: {},
disabled: Boolean,
name: [String, Number]
},
watch: {
value(val) {
this.$emit('change', val);
}
},
computed: {
/**
* `checkbox`是否在`van-checkbox-group`
*/
// checkbox van-checkbox-group
isGroup() {
return !!this.findParentByComponentName('van-checkbox-group');
},
/**
* `checkbox`当前值
*/
currentValue: {
get() {
return this.isGroup && this.parentGroup ? this.parentGroup.value.indexOf(this.name) !== -1 : this.value;
@ -75,9 +76,6 @@ export default {
}
},
/**
* `checkbox`是否被选中
*/
isChecked() {
const currentValue = this.currentValue;
if ({}.toString.call(currentValue) === '[object Boolean]') {
@ -87,9 +85,6 @@ export default {
}
},
/**
* `checkbox`是否被禁用
*/
isDisabled() {
return this.isGroup && this.parentGroup
? this.parentGroup.disabled