37 lines
875 B
JavaScript
37 lines
875 B
JavaScript
import { VantComponent } from '../common/component';
|
|
VantComponent({
|
|
classes: [
|
|
'active-class',
|
|
'disabled-class',
|
|
],
|
|
relation: {
|
|
type: 'ancestor',
|
|
name: 'sidebar',
|
|
linked(target) {
|
|
this.parent = target;
|
|
}
|
|
},
|
|
props: {
|
|
dot: Boolean,
|
|
info: null,
|
|
title: String,
|
|
disabled: Boolean
|
|
},
|
|
methods: {
|
|
onClick() {
|
|
const { parent } = this;
|
|
if (!parent || this.data.disabled) {
|
|
return;
|
|
}
|
|
const index = parent.children.indexOf(this);
|
|
parent.setActive(index).then(() => {
|
|
this.$emit('click', index);
|
|
parent.$emit('change', index);
|
|
});
|
|
},
|
|
setActive(selected) {
|
|
return this.setData({ selected });
|
|
}
|
|
}
|
|
});
|