- 发布:2020-06-24 11:06
- 更新:2020-07-04 11:28
- 阅读:3085
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: Alpha
HBuilderX版本号: 2.7.13
手机系统: 全部
页面类型: nvue
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
示例代码:
// 下载进度监听
downloadTask.onProgressUpdate(function(TaskD)
{
// 进度显示框
if (this_obj.loadingText.length > 0 && TaskD.progress < 100) // 这个不用管,是些判定而已
{
// ↓ 就是将进度文字给 title 参数
uni.showLoading({ title: this_obj.loadingText + " " + TaskD.progress+"%", mask: false });
}
// 传回给objC的监听方法的数据
var backThis = {
total: TaskD.totalBytesExpectedToSend,
uploaded: TaskD.totalBytesSent,
percentage: TaskD.progress
};
// 监听回调
if (objC && objC.progress) { objC.progress(backThis); }
});
// 下载进度监听
downloadTask.onProgressUpdate(function(TaskD)
{
// 进度显示框
if (this_obj.loadingText.length > 0 && TaskD.progress < 100) // 这个不用管,是些判定而已
{
// ↓ 就是将进度文字给 title 参数
uni.showLoading({ title: this_obj.loadingText + " " + TaskD.progress+"%", mask: false });
}
// 传回给objC的监听方法的数据
var backThis = {
total: TaskD.totalBytesExpectedToSend,
uploaded: TaskD.totalBytesSent,
percentage: TaskD.progress
};
// 监听回调
if (objC && objC.progress) { objC.progress(backThis); }
});
操作步骤:
- uni.downloadFile() 下载文件
- downloadTask.onProgressUpdate() 中监听下载进度,进行loading弹框提示
- uni.downloadFile() 下载文件
- downloadTask.onProgressUpdate() 中监听下载进度,进行loading弹框提示
预期结果:
loading框一直显示,只是上面的进度文字从0~100变化。
loading框一直显示,只是上面的进度文字从0~100变化。
实际结果:
loading框一直闪烁,title文字每变一次,框就会重新弹出一次。
loading框一直闪烁,title文字每变一次,框就会重新弹出一次。
bug描述:
主要是下载文件的时候,想体现出下载的进度。
于是将下载api的进度回调数据用在 uni.showLoading() 上面。
以前不是V3的时候,重复调用 showLoading 只会改变加载框上的文字;但是现在框会 弹出 → 关闭 → 弹出 这样一直闪烁。
还有一点:!!! 编译模式v3->nvue: 我“fast”、“纯nvue”都没有选。
使用的代码我截取 ↑ 。这个你们随便下点东西就看得出来,就不用录屏了。
建议改用
let waiting = plus.nativeUI.showWaiting("正在下载 - 10%");
waiting.setTitle("正在下载 - 20%");
waiting.setTitle("正在下载 - 30%");
...
亲测有效,
http://www.html5plus.org/doc/zh_cn/nativeui.html#plus.nativeUI.showWaiting
注意
第一次打开的时候 ,plus.nativeUI.showWaiting(title, waitingStyles);
title的宽度或者waitingStyles的宽度,要大于后面setTitle中的文字宽度,不然setTitle中的文字显示不全,无法做到自适应。
攻城狮已经疯了 (作者)
非常感谢
2020-07-04 14:48