ASEMiniProgram/dist/checkbox-group/index.js

39 lines
971 B
JavaScript
Raw Permalink Normal View History

2021-03-20 17:48:56 +00:00
Component({
externalClasses: ['i-class'],
relations: {
'../checkbox/index': {
type: 'child',
linked() {
this.changeCurrent();
},
linkChanged() {
this.changeCurrent();
},
unlinked() {
this.changeCurrent();
}
}
},
properties: {
current: {
type: Array,
value: [],
observer: 'changeCurrent'
},
},
methods: {
changeCurrent(val = this.data.current) {
let items = this.getRelationNodes('../checkbox/index');
const len = items.length;
if (len > 0) {
items.forEach(item => {
item.changeCurrent(val.indexOf(item.data.value) !== -1);
});
}
},
emitEvent(current) {
this.triggerEvent('change', current);
}
}
});