mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						|
	<!-- #ifdef H5 -->
 | 
						|
	<td class="uni-table-td" :rowspan="rowspan" :colspan="colspan" :class="{'table--border':border}" :style="{width:width + 'px','text-align':align}">
 | 
						|
		<slot></slot>
 | 
						|
	</td>
 | 
						|
	<!-- #endif -->
 | 
						|
	<!-- #ifndef H5 -->
 | 
						|
	<!-- :class="{'table--border':border}"  -->
 | 
						|
	<view class="uni-table-td" :class="{'table--border':border}" :style="{width:width + 'px','text-align':align}">
 | 
						|
		<slot></slot>
 | 
						|
	</view>
 | 
						|
	<!-- #endif -->
 | 
						|
	
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
	/**
 | 
						|
	 * Td 单元格
 | 
						|
	 * @description 表格中的标准单元格组件
 | 
						|
	 * @tutorial https://ext.dcloud.net.cn/plugin?id=3270
 | 
						|
	 * @property {Number} 	align = [left|center|right]	单元格对齐方式
 | 
						|
	 */
 | 
						|
	export default {
 | 
						|
		name: 'uniTd',
 | 
						|
		options: {
 | 
						|
			virtualHost: true
 | 
						|
		},
 | 
						|
		props: {
 | 
						|
			width: {
 | 
						|
				type: [String, Number],
 | 
						|
				default: ''
 | 
						|
			},
 | 
						|
			align: {
 | 
						|
				type: String,
 | 
						|
				default: 'left'
 | 
						|
			},
 | 
						|
			rowspan: {
 | 
						|
				type: [Number,String],
 | 
						|
				default: 1
 | 
						|
			},
 | 
						|
			colspan: {
 | 
						|
					type: [Number,String],
 | 
						|
				default: 1
 | 
						|
			}
 | 
						|
		},
 | 
						|
		data() {
 | 
						|
			return {
 | 
						|
				border: false
 | 
						|
			};
 | 
						|
		},
 | 
						|
		created() {
 | 
						|
			this.root = this.getTable()
 | 
						|
			this.border = this.root.border
 | 
						|
		},
 | 
						|
		methods: {
 | 
						|
			/**
 | 
						|
			 * 获取父元素实例
 | 
						|
			 */
 | 
						|
			getTable() {
 | 
						|
				let parent = this.$parent;
 | 
						|
				let parentName = parent.$options.name;
 | 
						|
				while (parentName !== 'uniTable') {
 | 
						|
					parent = parent.$parent;
 | 
						|
					if (!parent) return false;
 | 
						|
					parentName = parent.$options.name;
 | 
						|
				}
 | 
						|
				return parent;
 | 
						|
			},
 | 
						|
		}
 | 
						|
	}
 | 
						|
</script>
 | 
						|
 | 
						|
<style lang="scss">
 | 
						|
	$border-color:#EBEEF5;
 | 
						|
 | 
						|
	.uni-table-td {
 | 
						|
		display: table-cell;
 | 
						|
		padding: 8px 10px;
 | 
						|
		font-size: 14px;
 | 
						|
		border-bottom: 1px $border-color solid;
 | 
						|
		font-weight: 400;
 | 
						|
		color: #606266;
 | 
						|
		line-height: 23px;
 | 
						|
		box-sizing: border-box;
 | 
						|
	}
 | 
						|
 | 
						|
	.table--border {
 | 
						|
		border-right: 1px $border-color solid;
 | 
						|
	}
 | 
						|
</style>
 |