uni-app封装组件时使用数组

这是一个关于Vue.js组件的示例,用于根据数组长度动态渲染行数。组件使用了UviewUI库,每个行包含四列数据,如姓名和值。在mounted阶段初始化数据,并提供了点击事件监听。适用于前端界面布局和数据展示。
摘要由CSDN通过智能技术生成

功能为基于数组的数目去渲染对应的行数(3条数据对应3行),其中界面布局使用Uview UI
具体代码如下:

<template>
	<view>
		<view class="contian">
			<view v-for="item in listArr">
				<u-row :justify="justify" class="row" :id="item.id" @click="rowClick(item.id)">
					<u-col :span="span" :offset="offset" class="column">
						<view class="txt">{{item.labelLfetTxt}}</view>
					</u-col>
					<u-col :span="span" :offset="offset" class="column">
						<view class="txt">{{item.labelLeftValue}}</view>
					</u-col>
					<u-col :span="span" :offset="offset" class="column">
						<view class="txt">{{item.labelRightTxt}} </view>
					</u-col>
					<u-col :span="span" :offset="offset" class="column">
						<view class="txt">{{item.labelRightValue}}</view>
					</u-col>
				</u-row>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		name: "messageCard",
		props: {
			listData: {
				type: Array,
				default: () => [{
					id: '1',
					labelLfetTxt: '姓名',
					labelLeftValue: 'wmj',
					labelRightTxt: '姓名1',
					labelRightValue: 'wmj1'
				}]
			},
			span: {
				type: Number,
				default: 3
			},
			offset: {
				type: Number,
				default: 0
			},
			justify: {
				type: String,
				default: 'between'
			}
		},
		data() {
			return {
				listArr: []
			};
		},
		mounted() {
			var _this = this;
			_this.listArr = _this.listData

		},
		methods: {
			rowClick(e) {
				this.$emit('clickRow', e);
			}
		}

	}
</script>

<style>
	.contian {
		margin: 10rpx;
		border-radius: 8rpx;
		border: 1rpx solid #b3b3b3;
	}

	.txt {
		margin-left: 10rpx;
		/* display: flex;
		flex-direction: row; */
		/* justify-content: center;	 */
	}

	.row {
		height: auto;
		margin: 20rpx 0rpx;
	}

	.column {
		width: 200rpx;
		word-break: break-all
	}
</style>

其中需要注意的点是,在mounted函数中需要指定一下属性数组,这样外部调用时可以传值进来!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值