1***@qq.com
1***@qq.com
  • 发布:2022-05-17 18:47
  • 更新:2022-05-18 19:54
  • 阅读:226

nuve的map组件的polyline属性无法局部更改数据

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: Alpha

HBuilderX版本号: 3.3.13

手机系统: Android

手机系统版本号: Android 7.0

手机厂商: 华为

手机机型: DLI-AL10

页面类型: nvue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

新开一个页面,使用附件上的代码

预期结果:

map应该更新视图

实际结果:

数据更新了,但是map没有更新视图

bug描述:

polylines使用Vue.set()无法更新map的视图

2022-05-17 18:47 负责人:DCloud_Android_THB 分享
已邀请:
DCloud_Android_THB

DCloud_Android_THB

Vue.set() 不能触发。这样来实现吧。

this.polylines = [{points:this.points}];
  • 1***@qq.com (作者)

    但是这样更新数据会导致整个polylines重新绘制,在数据量很大的时候,总不能为了更改局部的一小部分数据而重新绘制map组件里的所有polyline线段吧,这样越往后面加数据到polyline就会越卡,polygons其实也是同理,动态绘制的数据量越大越卡

    2022-06-08 09:20

  • DCloud_Android_THB

    回复 1***@qq.com: 现在提供的线的绘制没有id的概念,所以没办法做到动态绘制的能力,意思就是即便Vue.set()可以触发,到了原生层还是会先clear掉lines,再从新添加上去。

    2022-06-08 12:53

  • DCloud_Android_THB

    回复 DCloud_Android_THB: 关于绘制的性能的担忧只要transform的改变就会触发重新渲染,假设同屏内绘制100条线,修改其中一条线,整体也会触发一次刷新。

    2022-06-08 12:59

该问题目前已经被锁定, 无法添加新回复