| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- import { VantComponent } from '../common/component';
 
- VantComponent({
 
-     classes: [
 
-         'main-item-class',
 
-         'content-item-class',
 
-         'main-active-class',
 
-         'content-active-class',
 
-         'main-disabled-class',
 
-         'content-disabled-class',
 
-     ],
 
-     props: {
 
-         items: {
 
-             type: Array,
 
-             observer: 'updateSubItems',
 
-         },
 
-         activeId: null,
 
-         mainActiveIndex: {
 
-             type: Number,
 
-             value: 0,
 
-             observer: 'updateSubItems',
 
-         },
 
-         height: {
 
-             type: null,
 
-             value: 300,
 
-         },
 
-         max: {
 
-             type: Number,
 
-             value: Infinity,
 
-         },
 
-         selectedIcon: {
 
-             type: String,
 
-             value: 'success',
 
-         },
 
-     },
 
-     data: {
 
-         subItems: [],
 
-     },
 
-     methods: {
 
-         // 当一个子项被选择时
 
-         onSelectItem(event) {
 
-             const { item } = event.currentTarget.dataset;
 
-             const isArray = Array.isArray(this.data.activeId);
 
-             // 判断有没有超出右侧选择的最大数
 
-             const isOverMax = isArray && this.data.activeId.length >= this.data.max;
 
-             // 判断该项有没有被选中, 如果有被选中,则忽视是否超出的条件
 
-             const isSelected = isArray
 
-                 ? this.data.activeId.indexOf(item.id) > -1
 
-                 : this.data.activeId === item.id;
 
-             if (!item.disabled && (!isOverMax || isSelected)) {
 
-                 this.$emit('click-item', item);
 
-             }
 
-         },
 
-         // 当一个导航被点击时
 
-         onClickNav(event) {
 
-             const index = event.detail;
 
-             const item = this.data.items[index];
 
-             if (!item.disabled) {
 
-                 this.$emit('click-nav', { index });
 
-             }
 
-         },
 
-         // 更新子项列表
 
-         updateSubItems() {
 
-             const { items, mainActiveIndex } = this.data;
 
-             const { children = [] } = items[mainActiveIndex] || {};
 
-             this.setData({ subItems: children });
 
-         },
 
-     },
 
- });
 
 
  |