| 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>
 |