1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| import { useChildren } from '../common/relation';
| import { VantComponent } from '../common/component';
| VantComponent({
| field: true,
| relation: useChildren('checkbox', function (target) {
| this.updateChild(target);
| }),
| props: {
| max: Number,
| value: {
| type: Array,
| observer: 'updateChildren',
| },
| disabled: {
| type: Boolean,
| observer: 'updateChildren',
| },
| },
| methods: {
| updateChildren() {
| this.children.forEach((child) => this.updateChild(child));
| },
| updateChild(child) {
| const { value, disabled } = this.data;
| child.setData({
| value: value.indexOf(child.data.name) !== -1,
| parentDisabled: disabled,
| });
| },
| },
| });
|
|