- 发布:2019-09-04 12:58
- 更新:2020-12-29 10:57
- 阅读:3924
我也遇到了同样问题,map组件(没有占据整个容器的高度)在一个可滚动容器中不会跟着滚动容器的滚动而滚动,而是一直保持在一开始的位置,如果页面中有输入框,获取焦点之后,键盘出来之后把地图顶到了上边,它就不会下来了,一直会保持在上面的位置,还是不会跟着滚动容器的滚动滚动,求解!求解!
前端JASON - 接单uniapp项目&插件/联系front_jason/主页daxiong.site
涉及到地图组件的页面建议用NVUE写,vue会有层级覆盖的问题,处理起来比较麻烦:https://uniapp.dcloud.io/component/map?id=faq
前端JASON - 接单uniapp项目&插件/联系front_jason/主页daxiong.site
直接使用页面原生滚动,不要用scrollView包裹
以下是demo代码
<template>
<view class="content">
<image class="logo" src="/static/logo.png"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
<image class="logo" src="/static/logo.png"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
<image class="logo" src="/static/logo.png"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
<map style="width: 700rpx; height: 300px;" :latitude="39.909" :longitude="116.39742"></map>
<image class="logo" src="/static/logo.png"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
<image class="logo" src="/static/logo.png"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
<image class="logo" src="/static/logo.png"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
</view>
</template>
<script>
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
},
methods: {
},
onPullDownRefresh() {
uni.showToast({
icon: 'none',
title: '开始下拉刷新'
})
setTimeout(() => {
uni.stopPullDownRefresh()
}, 2000)
}
}
</script>
前端JASON - 接单uniapp项目&插件/联系front_jason/主页daxiong.site
**vue开发的页面使用subNVue
去解决层级
预览
pages.json**
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "uni-app",
"enablePullDownRefresh": true,
"app-plus": {
"subNVues": [{
"id":"bottom-bar",
"path":"./pages/index/subNVue/bottom-toolbar",
"style": {
"position":"absolute",
"bottom":"0",
"height":"50px"
}
}]
}
}
}
bottom-toolbar.nvue
<template>
<view class="bottom-bar">
<input class="input" type="text" v-model="msg" placeholder="请输入内容" />
<text class="send">发送</text>
</view>
</template>
<script>
export default {
data() {
return {
msg: ''
}
}
}
</script>
<style>
.bottom-bar {
background-color: #333333;
flex-direction: row;
color: #FFFFFF;
}
.input {
flex: 1;
color: #FFFFFF;
}
.send {
color: #007AFF;
}
</style>
原页面不用做改动