init
This commit is contained in:
43
fuintUniapp/components/switch/index.js
Normal file
43
fuintUniapp/components/switch/index.js
Normal file
@@ -0,0 +1,43 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user