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', }, direction: { type: String, value: 'vertical', }, }, methods: { updateChildren() { this.children.forEach((child) => this.updateChild(child)); }, updateChild(child) { const { value, disabled, direction } = this.data; child.setData({ value: value.indexOf(child.data.name) !== -1, parentDisabled: disabled, direction, }); }, }, });