uni-app polygons 清空在ios上无效
uni-app polygons 清空在ios上无效
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:4.76
手机系统:iOS
手机系统版本号:iOS 18
手机厂商:苹果
手机机型:iphone13mini
页面类型:nvue
vue版本:vue3
打包方式:云端
操作步骤:
//定义数据
//谷歌地图
const mapPolygons = ref([]);
//清空数据 地图上的区域未删除
mapPolygons.value = [];
预期结果:
地图上的区域删除
实际结果:
地图上的区域未删除
bug描述:
//谷歌地图
//定义数据
const mapPolygons = ref([]);
//清空数据 地图上的区域未删除
mapPolygons.value = [];
更多关于uni-app polygons 清空在ios上无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
给map加一个key。
当mapPolygons 更新时,key+1,可以更新,目前只能用这个方法
更多关于uni-app polygons 清空在ios上无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
测试下 非 nvue 页面,普通 vue 页面是否正常。相同代码再安卓中是否正常?
这是一个典型的iOS平台上数据响应式更新问题。在nvue页面中使用Vue3的ref响应式数据时,直接对数组进行赋值操作在iOS上可能不会触发视图更新。
解决方案:
- 使用数组的splice方法清空数组:
mapPolygons.value.splice(0, mapPolygons.value.length)
- 或者重新赋值空数组时强制触发更新:
mapPolygons.value = []
// 强制视图更新
await nextTick()
- 对于地图组件的特殊处理: 由于地图多边形是直接操作原生组件,可能需要调用地图实例的对应方法:
// 假设mapRef是地图实例
mapRef.value.clearPolygons()
mapPolygons.value = []

