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.
		
		
		
		
		
			
		
			
				
					
					
						
							65 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							65 lines
						
					
					
						
							1.3 KiB
						
					
					
				
								import { VantComponent } from '../common/component';
							 | 
						|
								import { getRect, getSystemInfoSync } from '../common/utils';
							 | 
						|
								VantComponent({
							 | 
						|
								  classes: ['title-class'],
							 | 
						|
								  props: {
							 | 
						|
								    title: String,
							 | 
						|
								    fixed: {
							 | 
						|
								      type: Boolean,
							 | 
						|
								      observer: 'setHeight',
							 | 
						|
								    },
							 | 
						|
								    placeholder: {
							 | 
						|
								      type: Boolean,
							 | 
						|
								      observer: 'setHeight',
							 | 
						|
								    },
							 | 
						|
								    leftText: String,
							 | 
						|
								    rightText: String,
							 | 
						|
								    customStyle: String,
							 | 
						|
								    leftArrow: Boolean,
							 | 
						|
								    border: {
							 | 
						|
								      type: Boolean,
							 | 
						|
								      value: true,
							 | 
						|
								    },
							 | 
						|
								    zIndex: {
							 | 
						|
								      type: Number,
							 | 
						|
								      value: 1,
							 | 
						|
								    },
							 | 
						|
								    safeAreaInsetTop: {
							 | 
						|
								      type: Boolean,
							 | 
						|
								      value: true,
							 | 
						|
								    },
							 | 
						|
								  },
							 | 
						|
								  data: {
							 | 
						|
								    height: 46,
							 | 
						|
								  },
							 | 
						|
								  created() {
							 | 
						|
								    const { statusBarHeight } = getSystemInfoSync();
							 | 
						|
								    this.setData({
							 | 
						|
								      statusBarHeight,
							 | 
						|
								      height: 46 + statusBarHeight,
							 | 
						|
								    });
							 | 
						|
								  },
							 | 
						|
								  mounted() {
							 | 
						|
								    this.setHeight();
							 | 
						|
								  },
							 | 
						|
								  methods: {
							 | 
						|
								    onClickLeft() {
							 | 
						|
								      this.$emit('click-left');
							 | 
						|
								    },
							 | 
						|
								    onClickRight() {
							 | 
						|
								      this.$emit('click-right');
							 | 
						|
								    },
							 | 
						|
								    setHeight() {
							 | 
						|
								      if (!this.data.fixed || !this.data.placeholder) {
							 | 
						|
								        return;
							 | 
						|
								      }
							 | 
						|
								      wx.nextTick(() => {
							 | 
						|
								        getRect(this, '.van-nav-bar').then((res) => {
							 | 
						|
								          if (res && 'height' in res) {
							 | 
						|
								            this.setData({ height: res.height });
							 | 
						|
								          }
							 | 
						|
								        });
							 | 
						|
								      });
							 | 
						|
								    },
							 | 
						|
								  },
							 | 
						|
								});
							 |