import { VantComponent } from '../common/component'; VantComponent({ field: true, classes: ['node-class'], props: { checked: null, loading: Boolean, disabled: Boolean, activeColor: String, inactiveColor: String, size: { type: String, value: '30px' }, activeValue: { type: null, value: true }, inactiveValue: { type: null, value: false } }, watch: { checked(value) { this.set({ value }); } }, created() { this.set({ value: this.data.checked }); }, methods: { onClick() { const { activeValue, inactiveValue } = this.data; if (!this.data.disabled && !this.data.loading) { const checked = this.data.checked === activeValue; const value = checked ? inactiveValue : activeValue; this.$emit('input', value); this.$emit('change', value); } } } });