uni-app app vue页面使用map组件固定宽高大小 小米手机运行出现黑色边框线 其他品牌手机暂未发现

uni-app app vue页面使用map组件固定宽高大小 小米手机运行出现黑色边框线 其他品牌手机暂未发现

开发环境 版本号 项目创建方式
Windows 10 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:10

HBuilderX类型:正式

HBuilderX版本号:3.4.7

手机系统:Android

手机系统版本号:Android 12

手机厂商:小米

手机机型:小米10

页面类型:vue

vue版本:vue2

打包方式:离线

项目创建方式:HBuilderX

操作步骤:

在小米手机上 vue页面 使用map组件  真机运行会发现有 右 、下黑色边框线 ,其他手机暂未发现此问题

预期结果:

在小米手机上 vue页面 使用map组件  真机运行会发现有 右 、下黑色边框线  , 期望如何在小米手机上去掉地图组件的黑色边框线, 其他手机暂未发现此问题

实际结果:

在小米手机上 vue页面 使用map组件  真机运行会发现有 右 、下黑色边框线 ,其他手机暂未发现此问题

bug描述:

在小米手机上 vue页面 使用map组件  真机运行会发现有 右 、下黑色边框线 ,其他手机暂未发现此问题

更多关于uni-app app vue页面使用map组件固定宽高大小 小米手机运行出现黑色边框线 其他品牌手机暂未发现的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

宽高单位是用的rpx吗?用px看看

更多关于uni-app app vue页面使用map组件固定宽高大小 小米手机运行出现黑色边框线 其他品牌手机暂未发现的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我把map组件宽高用px写 问题还在 这个问题出现在Android 12系统上 map组件在vue/nvue我都试了 安卓机子都会出行这个黑色边框线

回复 j***@163.com: nvue页面测试,未复现此问题。

vue页面,临时解决方案: map>.uni-map-container{
width: 300px; height: 300px;background-color: #ffffff;
} 此问题后续会优化,已加分感谢您的反馈!

背景问题吗

HBuilder X 3.5.1-alpha已修复

在使用 uni-app 开发应用时,如果在 map 组件上设置了固定的宽高大小,并且在小米手机上运行时出现了黑色边框线,而其他品牌手机没有出现这个问题,可能是由于小米手机的系统渲染机制或其他原因导致的。以下是一些可能的解决方案和排查步骤:

1. 检查样式

首先,确保你的 map 组件的样式设置正确,特别是 widthheight 属性。你可以尝试使用 vwvh 单位来设置宽高,而不是固定的像素值,这样可以更好地适应不同设备的屏幕尺寸。

<template>
  <view class="map-container">
    <map class="map" :style="{ width: '100vw', height: '50vh' }"></map>
  </view>
</template>

<style>
.map-container {
  width: 100%;
  height: 100%;
}

.map {
  width: 100%;
  height: 100%;
}
</style>

2. 检查 map 组件的属性

确保 map 组件的属性设置正确,特别是 style 属性。你可以尝试在 map 组件上添加 style 属性来覆盖默认的样式。

<template>
  <view class="map-container">
    <map class="map" :style="{ width: '100vw', height: '50vh', border: 'none' }"></map>
  </view>
</template>

3. 检查父容器的样式

有时,父容器的样式可能会影响到子组件的渲染。确保 map 组件的父容器没有设置不必要的边框或背景颜色。

<template>
  <view class="map-container" style="border: none; background-color: transparent;">
    <map class="map" :style="{ width: '100vw', height: '50vh' }"></map>
  </view>
</template>

4. 使用 cover-viewcover-image

如果 map 组件上需要覆盖其他元素,可以使用 cover-viewcover-image 组件,而不是直接在 map 组件上添加元素。这样可以避免一些渲染问题。

<template>
  <view class="map-container">
    <map class="map" :style="{ width: '100vw', height: '50vh' }">
      <cover-view class="overlay">Overlay Content</cover-view>
    </map>
  </view>
</template>

<style>
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  text-align: center;
  line-height: 50vh;
}
</style>

5. 检查小米手机的特定问题

如果问题仅出现在小米手机上,可能是由于小米手机的系统渲染机制或 uni-app 在小米手机上的兼容性问题。你可以尝试以下方法:

  • 更新 uni-app 版本:确保你使用的是最新版本的 uni-app,因为新版本可能已经修复了某些兼容性问题。
  • 使用 uni.getSystemInfo 获取设备信息:通过 uni.getSystemInfo 获取设备信息,判断是否为小米手机,然后针对小米手机进行特定的样式调整。
uni.getSystemInfo({
  success: function (res) {
    if (res.brand === 'Xiaomi') {
      // 针对小米手机进行特定处理
    }
  }
});
回到顶部