67 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
| <template>
 | ||
| 	<view class="u-td" :style="[tdStyle]">
 | ||
| 		<slot></slot>
 | ||
| 	</view>
 | ||
| </template>
 | ||
| 
 | ||
| <script>
 | ||
| 	/**
 | ||
| 	 * td td单元格
 | ||
| 	 * @description 表格组件一般用于展示大量结构化数据的场景(搭配u-table使用)
 | ||
| 	 * @tutorial https://www.uviewui.com/components/table.html#td-props
 | ||
| 	 * @property {String Number} width 单元格宽度百分比或者具体带单位的值,如30%, 200rpx等,一般使用百分比,单元格宽度默认为均分tr的长度(默认auto)
 | ||
| 	 * @example <u-td>二年级</u-td>
 | ||
| 	 */
 | ||
| 	export default {
 | ||
| 		name: "u-td",
 | ||
| 		props: {
 | ||
| 			// 宽度,百分比或者具体带单位的值,如30%, 200rpx等,一般使用百分比
 | ||
| 			width: {
 | ||
| 				type: [Number, String],
 | ||
| 				default: 'auto'
 | ||
| 			}
 | ||
| 		},
 | ||
| 		data() {
 | ||
| 			return {
 | ||
| 				tdStyle: {
 | ||
| 					
 | ||
| 				}
 | ||
| 			}
 | ||
| 		},
 | ||
| 		created() {
 | ||
| 			this.parent = false;
 | ||
| 		},
 | ||
| 		mounted() {
 | ||
| 			this.parent = this.$u.$parent.call(this, 'u-table');
 | ||
| 			if (this.parent) {
 | ||
| 				// 将父组件的相关参数,合并到本组件
 | ||
| 				let style = {};
 | ||
| 				if (this.width != "auto") style.flex = `0 0 ${this.width}`;
 | ||
| 				style.textAlign = this.parent.align;
 | ||
| 				style.fontSize = this.parent.fontSize + 'rpx';
 | ||
| 				style.padding = this.parent.padding;
 | ||
| 				style.borderBottom = `solid 1px ${this.parent.borderColor}`;
 | ||
| 				style.borderRight = `solid 1px ${this.parent.borderColor}`;
 | ||
| 				style.color = this.parent.color;
 | ||
| 				this.tdStyle = style;
 | ||
| 			}
 | ||
| 		}
 | ||
| 	};
 | ||
| </script>
 | ||
| 
 | ||
| <style lang="scss" scoped>
 | ||
| 	@import "../../libs/css/style.components.scss";
 | ||
| 
 | ||
| 	.u-td {
 | ||
| 		@include vue-flex;
 | ||
| 		flex-direction: column;
 | ||
| 		flex: 1;
 | ||
| 		justify-content: center;
 | ||
| 		font-size: 28rpx;
 | ||
| 		color: $u-content-color;
 | ||
| 		align-self: stretch;
 | ||
| 		box-sizing: border-box;
 | ||
| 		height: 100%;
 | ||
| 	}
 | ||
| </style>
 |