| 12345678910111213141516171819202122232425262728293031323334 | import { VantComponent } from '../common/component';import { useChildren } from '../common/relation';VantComponent({    relation: useChildren('sidebar-item', function () {        this.setActive(this.data.activeKey);    }),    props: {        activeKey: {            type: Number,            value: 0,            observer: 'setActive',        },    },    beforeCreate() {        this.currentActive = -1;    },    methods: {        setActive(activeKey) {            const { children, currentActive } = this;            if (!children.length) {                return Promise.resolve();            }            this.currentActive = activeKey;            const stack = [];            if (currentActive !== activeKey && children[currentActive]) {                stack.push(children[currentActive].setActive(false));            }            if (children[activeKey]) {                stack.push(children[activeKey].setActive(true));            }            return Promise.all(stack);        },    },});
 |