uniapp的scroll-view高度自适应
时间: 2023-09-05 17:14:39 浏览: 172
要实现`uni-app`中`scroll-view`的高度自适应,可以采用以下几种方法:
1. 使用flex布局:将`scroll-view`的父容器设置为flex布局,并将`scroll-view`的高度设置为100%。这样`scroll-view`会自动拉伸以适应父容器的高度。
```html
<view class="container">
<scroll-view class="scroll-view" scroll-y>
<!-- scroll-view的内容 -->
</scroll-view>
</view>
<style>
.container {
display: flex;
flex-direction: column;
height: 100%;
}
.scroll-view {
flex: 1;
}
</style>
```
2. 使用计算属性:通过计算当前页面的可视高度来动态设置`scroll-view`的高度。
```html
<template>
<view class="container">
<scroll-view class="scroll-view" :style="{ height: scrollViewHeight + 'px' }" scroll-y>
<!-- scroll-view的内容 -->
</scroll-view>
</view>
</template>
<script>
export default {
data() {
return {
scrollViewHeight: 0,
};
},
mounted() {
this.setScrollViewHeight();
},
methods: {
setScrollViewHeight() {
uni.getSystemInfo({
success: (res) => {
const windowHeight = res.windowHeight;
const query = uni.createSelectorQuery().in(this);
query.select('.container').boundingClientRect((rect) => {
const containerHeight = rect.height;
this.scrollViewHeight = windowHeight - containerHeight;
}).exec();
},
});
},
},
};
</script>
<style>
.container {
height: 100%;
}
.scroll-view {
height: 100%;
}
</style>
```
通过上述方法,你可以实现`uni-app`中`scroll-view`的高度自适应。根据你的具体需求,选择其中一种方法即可。
阅读全文