开发场景:点击条件筛选按钮,在弹出的popup框中让用户选择条件进行筛选
但是在iphone12/13pro展示是正常,但是切换至其他手机型号就填充满了整个屏幕,需要给这个弹窗设置一个固定的高度
iphone12/13pro与其他型号手机对比
一开始,我是在u-popup上设置的自定义样式
但是并没有实现我需要的
从网上查阅资料,发现可以在popup中嵌套的子级中,将里边的内容设置固定的高度,这样内容就不会超出去了。
最终效果:
完整代码附上:
<!-- 弹出层 展示更多条件 -->
<u-popup :safeAreaInsetBottom="false":show="showPopup" @close="closePopup" mode="bottom" @open="openPopup" :round="10" ><view class="ConditionPopup"><view v-for="(item,index) in conditionDataList" :key="index" class="ConditionPopup_list"><view class="ConditionPopup_list__title">{{item.title}}</view><view class="ConditionPopup_list__content"><view @click="changeconditionitem(conditionDataList[index],items)" v-for="(items,indexs) in conditionDataList[index].list" :key="indexs" class="ConditionPopup_list__content_items" :class="items.check ? 'ConditionPopup_list__content_activeitems' : '' "><view>{{items.text}}</view></view></view></view><view class="push-button"><u-button text="一键重置" @click="qxBtn"></u-button></view><view class="btnPopup"><u-button :customStyle="btnPopupqx" text="取消" @click="qxBtn"></u-button><u-button :customStyle="btnPopupcx" text="查询" @click="searchBtn"></u-button></view></view>
</u-popup>
css部分
// 条件弹出层
.ConditionPopup{box-sizing: border-box;padding: 15rpx 12rpx 4rpx 12rpx;height: 600rpx;overflow: auto;&_list{margin-bottom: 20rpx;&__title{font-size: 28rpx;font-weight: 600;color: #333333;margin-bottom: 15rpx;}&__content{display:flex;flex-wrap: wrap;&_items{padding: 24rpx 20rpx;background: #F1F1F1;border-radius: 6rpx;font-size: 26rpx;font-weight: 400;color: #666666;margin: 0 24rpx 24rpx 0;}&_activeitems{background: #00A39C;color: #FFFFFF;}}}
}