You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							48 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							48 lines
						
					
					
						
							1.4 KiB
						
					
					
				| "use strict"; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| var component_1 = require("../common/component"); | |
| var relation_1 = require("../common/relation"); | |
| (0, component_1.VantComponent)({ | |
|     relation: (0, relation_1.useChildren)('collapse-item'), | |
|     props: { | |
|         value: { | |
|             type: null, | |
|             observer: 'updateExpanded', | |
|         }, | |
|         accordion: { | |
|             type: Boolean, | |
|             observer: 'updateExpanded', | |
|         }, | |
|         border: { | |
|             type: Boolean, | |
|             value: true, | |
|         }, | |
|     }, | |
|     methods: { | |
|         updateExpanded: function () { | |
|             this.children.forEach(function (child) { | |
|                 child.updateExpanded(); | |
|             }); | |
|         }, | |
|         switch: function (name, expanded) { | |
|             var _a = this.data, accordion = _a.accordion, value = _a.value; | |
|             var changeItem = name; | |
|             if (!accordion) { | |
|                 name = expanded | |
|                     ? (value || []).concat(name) | |
|                     : (value || []).filter(function (activeName) { return activeName !== name; }); | |
|             } | |
|             else { | |
|                 name = expanded ? name : ''; | |
|             } | |
|             if (expanded) { | |
|                 this.$emit('open', changeItem); | |
|             } | |
|             else { | |
|                 this.$emit('close', changeItem); | |
|             } | |
|             this.$emit('change', name); | |
|             this.$emit('input', name); | |
|         }, | |
|     }, | |
| });
 | |
| 
 |