다양한 항목을 클릭하면 해당 항목의 표시 및 숨기기를 개별적으로 제어할 수 있습니다.

머리말: v-for를 통해 dataList를 렌더링할 때 항목을 클릭하여 항목의 표시 및 숨기기를 개별적으로 제어해야 한다는 요구사항이 있습니다.
기능 포인트 : 렌더링할 배열 뒤에 부울 값 필드를 입력하고 클릭하여 true/false로 전환하여 각 항목의 표시 및 숨기기를 제어합니다. 1.
html

<view class="equipment" v-for="(item,index) in dataList" :key="index">
	<view class="spread_txt" @click="showTerData(index)" v-if="!item.dataShow">
		展开终端数据
	</view>
	<view class="spread_txt" @click="showTerData(index)" v-if="item.dataShow">
		收起
	</view>
	<view class="ter_data" v-show="item.dataShow">
		这里是展开的数据
	</view>
</view>

2、js

data() {
    
    
	return {
    
    
		// 定义空数组
		dataList:[],
	}
},
methods: {
    
    
	getTetminalDataApi(){
    
    
		// res.data.BODY.data是从后端获取的数组,大家用自己的数据即可
		const List = res.data.BODY.data
		// 该数组后拼dataShow字段,默认false不显示
		this.dataList = List.map(item => {
    
     return {
    
     ...item, dataShow: false }; });
	},
	// 显示与隐藏终端数据
	showTerData(i){
    
    
		// 点击的时候拿到当前索引值,然后切换true/false
		this.dataList[i].dataShow = !this.dataList[i].dataShow
	},
}

3、CSS

.spread_txt{
    
    
	width: 95%;
	font-size: 24rpx;
	font-weight: 600;
	color: #088562;
	margin: auto;
	margin-top: 16rpx;
	text-align: right;
	box-sizing: border-box;
}
.ter_data{
    
    
	width: 100%;
	height: 500rpx;
	padding-left: 24rpx;
	box-sizing: border-box;
	background-color: pink;
}

Hide:
여기에 이미지 설명을 삽입하세요.
Show:
여기에 이미지 설명을 삽입하세요.
응원해주셔서 감사하고 함께해요~
여기에 이미지 설명을 삽입하세요.

추천

출처blog.csdn.net/m0_58953167/article/details/131378858