| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 | 
							- <template>
 
- 	<view class="uni-title__box" :style="{'align-items':textAlign}">
 
- 		<text class="uni-title__base" :class="['uni-'+type]" :style="{'color':color}">{{title}}</text>
 
- 	</view>
 
- </template>
 
- <script>
 
- 	/**
 
- 	 * Title 标题
 
- 	 * @description 标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题
 
- 	 * @tutorial https://ext.dcloud.net.cn/plugin?id=1066
 
- 	 * @property {String} type = [h1|h2|h3|h4|h5] 标题类型
 
- 	 * 	@value h1 一级标题
 
- 	 * 	@value h2 二级标题
 
- 	 * 	@value h3 三级标题
 
- 	 * 	@value h4 四级标题
 
- 	 * 	@value h5 五级标题
 
- 	 * @property {String} title 标题内容
 
- 	 * @property {String} align = [left|center|right] 对齐方式
 
- 	 * 	@value left 做对齐
 
- 	 * 	@value center 居中对齐
 
- 	 * 	@value right 右对齐
 
- 	 * @property {String} color 字体颜色
 
- 	 * @property {Boolean} stat = [true|false] 是否开启统计功能呢,如不填写type值,默认为开启,填写 type 属性,默认为关闭
 
- 	 */
 
- 	export default {
 
- 		name:"UniTitle",
 
- 		props: {
 
- 			type: {
 
- 				type: String,
 
- 				default: ''
 
- 			},
 
- 			title: {
 
- 				type: String,
 
- 				default: ''
 
- 			},
 
- 			align: {
 
- 				type: String,
 
- 				default: 'left'
 
- 			},
 
- 			color: {
 
- 				type: String,
 
- 				default: '#333333'
 
- 			},
 
- 			stat: {
 
- 				type: [Boolean, String],
 
- 				default: ''
 
- 			}
 
- 		},
 
- 		data() {
 
- 			return {
 
- 			};
 
- 		},
 
- 		computed: {
 
- 			textAlign() {
 
- 				let align = 'center';
 
- 				switch (this.align) {
 
- 					case 'left':
 
- 						align = 'flex-start'
 
- 						break;
 
- 					case 'center':
 
- 						align = 'center'
 
- 						break;
 
- 					case 'right':
 
- 						align = 'flex-end'
 
- 						break;
 
- 				}
 
- 				return align
 
- 			}
 
- 		},
 
- 		watch: {
 
- 			title(newVal) {
 
- 				if (this.isOpenStat()) {
 
- 					// 上报数据
 
- 					if (uni.report) {
 
- 						uni.report('title', this.title)
 
- 					}
 
- 				}
 
- 			}
 
- 		},
 
- 		mounted() {
 
- 			if (this.isOpenStat()) {
 
- 				// 上报数据
 
- 				if (uni.report) {
 
- 					uni.report('title', this.title)
 
- 				}
 
- 			}
 
- 		},
 
- 		methods: {
 
- 			isOpenStat() {
 
- 				if (this.stat === '') {
 
- 					this.isStat = false
 
- 				}
 
- 				let stat_type = (typeof(this.stat) === 'boolean' && this.stat) || (typeof(this.stat) === 'string' && this.stat !==
 
- 					'')
 
- 				if (this.type === "") {
 
- 					this.isStat = true
 
- 					if (this.stat.toString() === 'false') {
 
- 						this.isStat = false
 
- 					}
 
- 				}
 
- 				if (this.type !== '') {
 
- 					this.isStat = true
 
- 					if (stat_type) {
 
- 						this.isStat = true
 
- 					} else {
 
- 						this.isStat = false
 
- 					}
 
- 				}
 
- 				return this.isStat
 
- 			}
 
- 		}
 
- 	}
 
- </script>
 
- <style>
 
- 	/* .uni-title {
 
- 	} */
 
- 	.uni-title__box {
 
- 		/* #ifndef APP-NVUE */
 
- 		display: flex;
 
- 		/* #endif */
 
- 		flex-direction: column;
 
- 		align-items: flex-start;
 
- 		justify-content: center;
 
- 		padding: 8px 0;
 
- 		flex: 1;
 
- 	}
 
- 	.uni-title__base {
 
- 		font-size: 15px;
 
- 		color: #333;
 
- 		font-weight: 500;
 
- 	}
 
- 	.uni-h1 {
 
- 		font-size: 20px;
 
- 		color: #333;
 
- 		font-weight: bold;
 
- 	}
 
- 	.uni-h2 {
 
- 		font-size: 18px;
 
- 		color: #333;
 
- 		font-weight: bold;
 
- 	}
 
- 	.uni-h3 {
 
- 		font-size: 16px;
 
- 		color: #333;
 
- 		font-weight: bold;
 
- 		/* font-weight: 400; */
 
- 	}
 
- 	.uni-h4 {
 
- 		font-size: 14px;
 
- 		color: #333;
 
- 		font-weight: bold;
 
- 		/* font-weight: 300; */
 
- 	}
 
- 	.uni-h5 {
 
- 		font-size: 12px;
 
- 		color: #333;
 
- 		font-weight: bold;
 
- 		/* font-weight: 200; */
 
- 	}
 
- </style>
 
 
  |