ant-design-vue/components/checkbox/demo/controller.md

57 lines
1.2 KiB
Markdown
Raw Normal View History

2018-03-09 05:26:34 +00:00
<cn>
#### 受控的checkbox
联动checkbox
</cn>
<us>
#### Controlled Checkbox
Communicated with other components
</us>
2019-10-09 10:32:23 +00:00
```tpl
2018-03-09 05:26:34 +00:00
<template>
<div>
<p :style="{ marginBottom: '20px' }">
2019-09-28 12:45:07 +00:00
<a-checkbox :checked="checked" :disabled="disabled" @change="onChange">
2018-03-09 05:26:34 +00:00
{{label}}
</a-checkbox>
</p>
<p>
2019-09-28 12:45:07 +00:00
<a-button type="primary" size="small" @click="toggleChecked">
2018-03-09 05:26:34 +00:00
{{!checked ? 'Check' : 'Uncheck'}}
</a-button>
2019-09-28 12:45:07 +00:00
<a-button :style="{ marginLeft: '10px' }" type="primary" size="small" @click="toggleDisable">
2018-03-09 05:26:34 +00:00
{{!disabled ? 'Disable' : 'Enable'}}
</a-button>
</p>
</div>
</template>
<script>
2019-09-28 12:45:07 +00:00
export default {
data() {
return {
checked: true,
disabled: false,
};
2018-03-09 05:26:34 +00:00
},
2019-09-28 12:45:07 +00:00
computed: {
label() {
const { checked, disabled } = this;
return `${checked ? 'Checked' : 'Unchecked'}-${disabled ? 'Disabled' : 'Enabled'}`;
},
2018-03-09 05:26:34 +00:00
},
2019-09-28 12:45:07 +00:00
methods: {
toggleChecked() {
this.checked = !this.checked;
},
toggleDisable() {
this.disabled = !this.disabled;
},
onChange(e) {
this.checked = e.target.checked;
},
2018-03-09 05:26:34 +00:00
},
2019-09-28 12:45:07 +00:00
};
2018-03-09 05:26:34 +00:00
</script>
```