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.
		
		
		
		
		
			
		
			
				
					
					
						
							70 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							70 lines
						
					
					
						
							2.1 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)({ | |
|     props: { | |
|         info: null, | |
|         name: null, | |
|         icon: String, | |
|         dot: Boolean, | |
|         url: { | |
|             type: String, | |
|             value: '', | |
|         }, | |
|         linkType: { | |
|             type: String, | |
|             value: 'redirectTo', | |
|         }, | |
|         iconPrefix: { | |
|             type: String, | |
|             value: 'van-icon', | |
|         }, | |
|     }, | |
|     relation: (0, relation_1.useParent)('tabbar'), | |
|     data: { | |
|         active: false, | |
|         activeColor: '', | |
|         inactiveColor: '', | |
|     }, | |
|     methods: { | |
|         onClick: function () { | |
|             var parent = this.parent; | |
|             if (parent) { | |
|                 var index = parent.children.indexOf(this); | |
|                 var active = this.data.name || index; | |
|                 if (active !== this.data.active) { | |
|                     parent.$emit('change', active); | |
|                 } | |
|             } | |
|             var _a = this.data, url = _a.url, linkType = _a.linkType; | |
|             if (url && wx[linkType]) { | |
|                 return wx[linkType]({ url: url }); | |
|             } | |
|             this.$emit('click'); | |
|         }, | |
|         updateFromParent: function () { | |
|             var parent = this.parent; | |
|             if (!parent) { | |
|                 return; | |
|             } | |
|             var index = parent.children.indexOf(this); | |
|             var parentData = parent.data; | |
|             var data = this.data; | |
|             var active = (data.name || index) === parentData.active; | |
|             var patch = {}; | |
|             if (active !== data.active) { | |
|                 patch.active = active; | |
|             } | |
|             if (parentData.activeColor !== data.activeColor) { | |
|                 patch.activeColor = parentData.activeColor; | |
|             } | |
|             if (parentData.inactiveColor !== data.inactiveColor) { | |
|                 patch.inactiveColor = parentData.inactiveColor; | |
|             } | |
|             if (Object.keys(patch).length > 0) { | |
|                 this.setData(patch); | |
|             } | |
|         }, | |
|     }, | |
| });
 | |
| 
 |