开发中遇到两种需要动态设置 swiper 高度的情况:

1. 第一种,需要除开顶部或底部元素获取屏幕剩余高度。

  • 如果顶部或底部元素高度固定,直接使用 calc 函数来计算;
  • 如果高度不固定,通过 uni.createSelectorQuery 来获取高度后计算。

2. 第二种,需要根据子元素来计算 swiper 的高度。

  • 通过 uni.createSelectorQuery 来获取所有子元素的高度,通过传入 current 来获取当前 item 的高度。
<template><view><page-head title="swiper" class="page-head"></page-head><view class="uni-margin-wrap"><!-- <swiper class="swiper"> --><!-- <swiper class="swiper" :style="{height: swiperHeight + 'px'}"> --><swiper class="swiper" :current="current" :style="{height: swiperItemHeight + 'px'}" @change="swiperChange"><swiper-item><view class="swiper-item-wrap"><view class="swiper-item uni-bg-red" v-for="item in 3" :key="item">A-{{item}}</view></view></swiper-item><swiper-item><view class="swiper-item-wrap"><view class="swiper-item uni-bg-green" v-for="item in 1" :key="item">B-{{item}}</view></view></swiper-item><swiper-item><view class="swiper-item-wrap"><view class="swiper-item uni-bg-blue" v-for="item in 2" :key="item">C-{{item}}</view></view></swiper-item></swiper></view></view>
</template>
<script>export default {data() {return {swiperHeight: 0,swiperItemHeight: 0}},mounted() {// 第一种 获取屏幕剩余高度// this.getSwiperHeight()// 第二种 获取子元素的高度this.getSwiperItemHeight()},methods: {getSwiperHeight() {uni.createSelectorQuery().in(this).select('.page-head').boundingClientRect().exec(res => {const windowHeight = uni.getSystemInfoSync().windowHeight// 屏幕高度 - 顶部高度this.swiperHeight = windowHeight - res[0].height})},getSwiperItemHeight(current = 0) {uni.createSelectorQuery().in(this).selectAll('.swiper-item-wrap').boundingClientRect().exec(res => {this.swiperItemHeight = res[0][current].height})},swiperChange(e) {this.getSwiperItemHeight(e.detail.current)}}}
</script><style>page {background-color: #e2e2e2;}.uni-margin-wrap {width:690rpx;margin:0 30rpx;background-color: #fff;}/* 使用 calc 函数来计算 *//* .swiper {height: calc(100vh - 78px);} */.swiper-item {display: block;height: 300rpx;line-height: 300rpx;text-align: center;}
</style>

uni-app 动态设置 swiper 的高度相关推荐

  1. uniapp动态获取swiper的高度

    布局一下高度为动态的 <swiper class="swiper" :style="{height: windowHeight + 'px'}":curr ...

  2. 按照文字内容动态设置TableViewCell的高度

    最近再做个项目需要使用UITableView来显示评论列表,但是有的评论字数特别多,固定的Cell高度显示不完,只能动态地根据字数来设置Cell的高度了 只要实现UITableViewDelegate ...

  3. JavaScript动态设置table的高度

    这两天在调测系统的兼容性时遇到一个设置table高度的问题,页面功能很简单,就是页面中央一个文件,文件下方有一个保存按钮,文件内可以点击"添加项目按钮"来在该文件内增加表格数(这就 ...

  4. android 动态设置View的高度和宽度,ViewTreeObserver使用

    private int mMonitorHeight = 0; private int mMonitorWidth = 0; private boolean bisSetScreen = false; ...

  5. 微信小程序-动态设置图片的高度

    1.在index.wxml文件中:给图片绑定一个图片加载完成的方法: <image bindload="onImageLoad" class="img" ...

  6. vue 动态设置div的高度_Vue 动态设置元素高度

    1. Vue文件如下 let windowHeight = parseInt(window.innerHeight) export default { data() { return { window ...

  7. swift 动态设置UILabel的高度

    2019独角兽企业重金招聘Python工程师标准>>> import UIKit class ViewController3: UIViewController {override ...

  8. 微信小程序-----解决swiper默认高度150px

    微信小程序缺陷就是swiper是固定死的150px高度,这样如果传入的图片大于这个高度就会被隐藏.那么,怎样让图片自适应不同分辨率呢? 思路是:获取屏幕宽度,获取图片的宽高,然后等比设置当前屏幕宽度下 ...

  9. php轮播怎么调整图片大小,微信小程序内轮播图怎样设置成自适应高度

    这次给大家带来微信小程序内轮播图怎样设置成自适应高度,微信小程序内轮播图怎设置成自适应高度的注意事项有哪些,下面就是实战案例,一起来看一下. 我的思路是:获取屏幕宽度,获取图片的宽高,然后等比设置当前 ...

最新文章

  1. 关于NameError: name ‘train_test_split‘ is not defined错误提示
  2. SQL Server中的GAM页和SGAM页
  3. Hyperledger(超级账本)的worldstate和SAP CRM的CRMD_CUMULAT_H
  4. docker下载安装,命令大全
  5. Mybatis中输入输出映射和动态Sql
  6. android textview 白色,android – AutoCompleteTextview默认情况下,颜色设置为白色
  7. mysq命令行导出sql_mysql 命令行导入导出 sql
  8. Android平台Camera2数据如何对接RTMP推流到服务器
  9. android 单选按钮横置,input radio如何实现横向布局
  10. Yii Framework2.0开发教程(9)运行机制概述
  11. python中rgb颜色_python颜色显示
  12. 怎么将几张pdf合并成一张_Adobe Acrobat怎么将多个PDF文件合并成一个pdf页面?
  13. Python Interpreter
  14. win7TTS修复,使用C#SpeechSynthesizer 类
  15. 分子动力学理论篇(1)——牛顿力学、哈密顿动力学和相空间
  16. 抽样检验规范——多次(多轮)抽样的理解
  17. 华为9306配置备忘(以太网)
  18. 张迈机器人_西安交通大学学科“双一流”建设中期自评专家评审会召开
  19. TSMaster——功能强大的国产总线工具链软件
  20. 基于Java+Swing+Mysql实现《黄金矿工》游戏

热门文章

  1. linux proc 自动清理,Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches
  2. 销售订单创建保存时,出现错误
  3. MATLAB BPSK调制与解调
  4. 广西 启动计算机教案,广西壮族自治区-教案
  5. php 转码问题,php 解决json_encode中文UNICODE转码问题
  6. Reg 正则表达式学习笔记
  7. emake-Linux学习20201009
  8. 1056 Mice and Rice
  9. 爱剪辑编辑好视频,导出时,微信上视频长宽变小解决方法!
  10. 大工17秋《计算机文化基础》在线测试1,大工15秋《计算机文化基础》在线测试1答案 满分!...