Johnny_new
Johnny_new
  • 发布:2024-11-12 18:28
  • 更新:2024-11-12 18:28
  • 阅读:30

【报Bug】一个vue中存在多个web-view 获取、入参等异常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版 23H2

HBuilderX类型: 正式

HBuilderX版本号: 4.29

手机系统: Android

手机系统版本号: Android 14

手机厂商: 小米

手机机型: Redmi Note 13 5G 必现

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

一个vue 中循环webview即可复现

预期结果:

1、多个web-view循环时,id不一样
2、:webview-styles="webviewStyles(index)" 当延迟加载时【即:loading 变更为true】,则index 为当前;并且创建的webView 宽高按照当前执行;
3、接收消息@message 回调时,能否在EventHandler中添加属性 标识那个web-view 即id;

实际结果:

1、多个web-view循环时,通过console.log( this.$scope.$getAppWebview().children() ) 查看发现所有的id都一样【致命bug 导致我无法删除对应Webview】
2、多个web-view循环时,@message="receiveMessage($event,index)", 此时 index永远都时0;
3、:webview-styles="webviewStyles(index)" 当延迟加载时【即:loading 变更为true】,则index 同上;并且创建的webView 宽高按照上一个执行;
4、接收消息@message 回调时,我无法知道时那个webView 进行回调的。

bug描述:

问题:
1、多个web-view循环时,通过console.log( this.$scope.$getAppWebview().children() ) 查看发现所有的id都一样【致命bug 导致我无法删除对应Webview】
2、多个web-view循环时,@message="receiveMessage($event,index)", 此时 index永远都时0;
3、:webview-styles="webviewStyles(index)" 当延迟加载时【即:loading 变更为true】,则index 同上;并且创建的webView 宽高按照上一个执行;
4、接收消息@message 回调时,能否在EventHandler中添加属性 标识那个web-view 即id;

使用场景:
我们需要对接第三方的界面,我们通过接口获取到:首页、购物车、我的等界面,我们只能通过webView 打开相应的界面,他们通过uni.postMessage发送消息获取定位、图片等信息。

附件为我的原代码,因为方便你们审查,整理了一个案例。

2024-11-12 18:28 负责人:无 分享
已邀请:

要回复问题请先登录注册