uni-app #bug# Android swiper组件 高度无法动态赋值(已修复)

发布于 1周前 作者 bupafengyu 来自 Uni-App

uni-app #bug# Android swiper组件 高度无法动态赋值(已修复)

<swiper :style="'height: '+swipeHeight+'upx;'"></swiper>

data() {
return {
swipeHeight:0
}
}

changeSwipeHeight() {
const totalHeight = this.TabCur == 0 ? 150 :
this.TabCur == 1 ? 250 : 350
return totalHeight
}

上述代码 web 运行 totalHeight 赋值正常
android 运行 totalHeight 始终为150

该问题已修复


1 回复

针对您提到的uni-app中Android平台swiper组件高度无法动态赋值的问题(假设您已经了解到该问题已被修复,但希望了解如何处理或避免类似问题的代码示例),以下是一个示例代码展示如何在uni-app中动态调整swiper组件的高度。

首先,确保您的uni-app和依赖库已经更新到最新版本,以避免已知的bug。以下示例假设您正在使用Vue语法来构建uni-app应用。

示例代码

1. 页面模板 (template)

<template>
  <view class="container">
    <button @click="adjustHeight">调整swiper高度</button>
    <swiper :style="{ height: swiperHeight + 'px' }" :indicator-dots="true">
      <swiper-item v-for="(item, index) in items" :key="index">
        <view class="swiper-item-content">
          <text>{{ item }}</text>
        </view>
      </swiper-item>
    </swiper>
  </view>
</template>

2. 脚本 (script)

<script>
export default {
  data() {
    return {
      swiperHeight: 300, // 初始高度
      items: ['滑块1', '滑块2', '滑块3'] // swiper内容
    };
  },
  methods: {
    adjustHeight() {
      // 动态调整swiper高度,例如增加到400px
      this.swiperHeight = 400;
    }
  }
};
</script>

3. 样式 (style)

<style scoped>
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
}

.swiper-item-content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background-color: #f8f8f8;
}
</style>

说明

  • 模板部分:包含一个按钮用于触发高度调整,以及一个swiper组件,其高度通过绑定swiperHeight数据动态设置。
  • 脚本部分:定义了一个swiperHeight数据属性来控制swiper的高度,并提供了一个adjustHeight方法来动态修改该高度。
  • 样式部分:简单设置容器和swiper项的样式,确保内容居中显示。

通过上述代码,您可以动态调整swiper组件的高度。如果您在旧版本的uni-app中遇到高度无法动态赋值的问题,请确保已经更新到最新版本,并参考上述代码实现动态高度的调整。如果问题依旧存在,建议查阅最新的uni-app官方文档或社区论坛获取更多帮助。

回到顶部