前端开发那些事儿

uniapp折叠面板

2021-01-22  本文已影响0人  吃肉肉不吃肉肉

实现效果如下图:


1649641125(1).png
<view class="collapse" v-for="(item,index) in itemList" :key="index">
                <view @click="changeContent(item,index)">
                    <view class="coll-header">
                        <view style="display: flex;align-items: center;">
                            <view class="image-radius">
                                <image :src="item.headimgurl" mode="widthFix" style="width: 72rpx;"></image>
                            </view>
                            <view class="head-txt">{{item.realname}}</view>
                        </view>
                        <view class="coll-right">
                            <view class="space">
                                {{item.level | level}}
                            </view>
                            <image :src="item.open?imageList[0]:imageList[1]" mode="widthFix" style="width: 24rpx;"></image>
                        </view>
                    </view>
                    <!-- 展开 -->
                    <view class="box">
                        <view class="box-cont" v-show="item.open==true">
                            <view class="flex">
                                <text>真实姓名<text style="color:#FB231F">*</text></text>
                                <text>{{item.realname}}</text>
                            </view>
                            <view class="flex">
                                <text>联系方式<text style="color:#FB231F">*</text></text>
                                <text>{{item.mobile}}</text>
                            </view>
                            <view class="flex">
                                <text>代理级别<text style="color:#FB231F">*</text></text>
                                <text>{{item.level | level}}</text>
                            </view>
                            <view class="flex">
                                <text>邀请人<text style="color:#FB231F">*</text></text>
                                <text>{{item.recom_user.nickname}}</text>
                            </view>
                            <view class="flex">
                                <text>上级代理<text style="color:#FB231F">*</text></text>
                                <text>{{item.recom_user.nickname}}</text>
                            </view>
                        </view>
                    </view>
                </view>
            </view>
onShow() {
    this.request()
},
methods: {
          request(){
            uni.request({
                url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。
                data: {
                    text: 'uni.request'
                },
                header: {
                    'custom-header': 'hello' //自定义请求头信息
                },
                success: (res) => {
                    if(res.data.list.length>0){
                        for(let i=0;i<res.data.list.length;i++){
                            res.data.list[i].open=false
                    }
                    this.itemList= res.data.list
                }
            })
       } ,
      changeContent(item,index) {
                 this.itemList.forEach(i => {
                    if (i.open !== this.itemList[index].open) {
                        i.open = false;
                    }
                })
                item.open = !item.open
     },
}
上一篇下一篇

猜你喜欢

热点阅读