更新记录
1.0.0(2023-08-21) 下载此版本
首次更新
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.4.15 app-vue app-nvue | √ | √ | √ | √ | √ | √ |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
√ | √ | √ | √ | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
下载进度按钮
下载进度按钮是一款基于uniapp的按钮组件,符合easycom模式,无需手动引入,代码简洁、易于理解、使用方便。主要使用场景为:下载页面作为下载按钮动态展示下载进度、静态展示进度条等
快速使用
第一步 安装
下载插件并导入HBulidX
第二步 基本用法
在template中使用
<kt-download-btn :progress="downloadPercent" @click="onClick" successText="下载完成" initText="开始下载"
failedText="下载失败" ref="downloadBtn"></kt-download-btn>
以下为示例程序代码,可以直接下载示例程序查看。
<template>
<view class="content">
<view class="text-area">
<text>{{title}}</text>
</view>
<view class="distance">
<view class="line"></view><text>基本示例</text>
</view>
<kt-download-btn :progress="downloadPercent" @click="onClick" successText="下载完成" initText="开始下载"
failedText="下载失败" ref="downloadBtn"></kt-download-btn>
<view class="distance">
<view class="line"></view><text>下载状态示例</text>
</view>
<kt-download-btn :progress="0" ref="btnDownloading"></kt-download-btn>
<view class="distance">
<view class="line"></view><text>完成状态示例</text>
</view>
<kt-download-btn :progress="downloadPercent" successText="下载完成" ref="btnSuccess">
</kt-download-btn>
<view class="distance">
<view class="line"></view><text>失败状态示例</text>
</view>
<kt-download-btn :progress="downloadPercent" ref="btnFailed" failedText="下载失败">
</kt-download-btn>
<view class="distance">
<view class="line"></view><text>进度条示例</text>
</view>
<kt-download-btn progress="10">
</kt-download-btn>
<view class="distance"></view>
<kt-download-btn progress="66">
</kt-download-btn>
<view class="distance"></view>
<kt-download-btn progress="88">
</kt-download-btn>
<view class="distance"></view>
</view>
</template>
<script>
export default {
data() {
return {
title: '下载进度按钮组件主要使用场景如:动态展示下载进度,静态展示进度条等 ',
downloadPercent: 0
}
},
onShow() {
// 初始化按钮状态
this.$nextTick().then(() => {
this.$refs.btnDownloading.start()
this.$refs.btnSuccess.success()
this.$refs.btnFailed.failed()
});
},
methods: {
onClick() {
this.downloadPercent = 0
//模拟下载进度
const timer = setInterval(() => {
this.downloadPercent++
if (this.downloadPercent >= 100) {
clearInterval(timer)
}
}, 100)
},
init() {
this.downloadPercent = 0
this.$refs.downloadBtn.init()
},
success() {
this.$refs.downloadBtn.success()
},
failed() {
this.$refs.downloadBtn.failed()
},
start() {
this.$refs.downloadBtn.start()
}
}
}
</script>
<style>
.content {
margin: 30rpx;
}
.text-area {
margin-bottom: 30rpx;
padding-bottom: 30rpx;
border-bottom: 1px solid #f8f8f8;
}
.title {
font-size: 32rpx;
color: #333333;
}
.line {
height: 10px;
background-color: aquamarine;
width: 5px;
border-radius: 2px;
display: inline-block;
margin-right: 10rpx;
}
.distance {
margin: 30rpx;
}
</style>
API
Props
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
width | 按钮宽度 | Number | 460 默认单位rpx |
color | 下载过程中的填充色 | String | linear-gradient(90deg, #FFCD1E, #FF8A18) |
progress | 下载进度 | String,Number | 0 |
initText | 按钮默认状态下显示文本 | String | 下载 |
successText | 下载成功显示文本 | String | 完成 |
failedText | 下载失败显示文本 | String | 失败 |
Events
事件名 | 事件说明 |
---|---|
@click | 点击事件 |
Function
方法名 | 方法说明 |
---|---|
init() | 初始化,使用this.$refs.downloadBtn.init()方式调用,一般用于恢复按钮初始默认状态 |
start() | 开始下载,使用this.$refs.downloadBtn.start()方式调用,一般用于点击按钮执行下载逻辑时调用,另外progress变化也可直接进入下载状态 |
success() | 下载成功,使用this.$refs.downloadBtn.success()方式调用,一般用于下载完成之后主动调用(增加此方法主要为了防止下载进度progress返回不准确的情况) |
failed() | 下载失败,使用this.$refs.downloadBtn.failed()方式调用,一般用于下载失败时主动调用 |
有任何优化、建议、bug欢迎留言,一起学习交流。