uni——手风琴(折叠面板)

案例展示

在这里插入图片描述

目前其他暂无数据,点击标题时调用接口返回所含设备。

案例代码

<view class="collapse" v-for="(item,index) in itemList" :key="index">
	<view @click="changeContent(item,index)">
		<view class="collHeader">
			<view class="collTitle">{{item.names}}</view>
			<image :src="item.open?item.imgUrl2:item.imgUrl1" class="topBottomIcon"></image>
		</view>
		<!-- 展开 -->
		<view class="box">
			<view v-if="item.open==true" v-for="(itemMsg,indexMsg) in collList" :key="indexMsg">
				<view>{{itemMsg.names}}:{{itemMsg.devices_sn}}</view>
			</view>
		</view>
	</view>
</view>
data() {
	return {
		collList: [{names:'设备名称',devices_sn:'设备编号'}], //设备列表
		itemList: [{
			names: "场地名称",
			open: false,
			disabled: true,
			imgUrl1: '/static/images/selectIcon.png',
			imgUrl2: '/static/images/topIcon.png',
		}],
	}
},
methods: {
	// 手风琴
	changeContent(item, index) {
		this.itemList.forEach(i => {
			if (i.open !== this.itemList[index].open) {
				i.open = false;
			}
		})
		item.open = !item.open
		this.$common.request('post', '/vipcard/getFieldDeviceLists', {
			field_id: item.id
		}).then(res => {
			if (res.code == 1) {
				if(res.data.length == 0){
					this.$common.msg('暂无设备')
					return
				}
				this.collList = res.data
			}
		})
	},
	getDetail() {
		this.$common.request('post', '/vipcard/getVipcardDetails', {
			card_id: this.card_id
		}).then(res => {
			if (res.code == 1) {
			   //如果后台返回的数据中没有和上述自定义的数组字段对应,需要遍历赋值
				res.data.field_names.forEach((item) => {
					item.open = false
					item.imgUrl1 = '/static/images/selectIcon.png'
					item.imgUrl2 = '/static/images/topIcon.png'
				})
				this.itemList = res.data.field_names
			}
		})
	}
}
// 手风琴
.collapse {
	padding: 0 30rpx;
	margin-bottom: 10rpx;

	.collHeader {
		display: flex;
		align-items: center;

		.collTitle {
			color: #454545;
			font-size: 28rpx;
		}

		.topBottomIcon {
			width: 22rpx;
			height: 12rpx;
			margin-left: 20rpx;
		}
	}

	.box {
		padding: 10rpx 30rpx;
		font-size: 26rpx;
		color: #888888;
		line-height: 45rpx;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值