# ProgressButton 文本下载按钮,å¯æ˜¾ç¤ºå…·ä½“下载进度。 > **说明:** > > 该组件从API Version 10开始支æŒã€‚åŽç»ç‰ˆæœ¬å¦‚æœ‰æ–°å¢žå†…å®¹ï¼Œåˆ™é‡‡ç”¨ä¸Šè§’æ ‡å•ç‹¬æ ‡è®°è¯¥å†…容的起始版本。 ## å¯¼å…¥æ¨¡å— ``` import { ProgressButton } from '@kit.ArkUI' ``` ## 属性 支æŒ[通用属性](ts-universal-attributes-size.md) ## ProgressButton ProgressButton({progress: number, content: string, progressButtonWidth?: Length, clickCallback: () => void, enable: boolean}) **装饰器类型:**\@Component **原å化æœåŠ¡API:** 从API version 11开始,该接å£æ”¯æŒåœ¨åŽŸå化æœåŠ¡ä¸ä½¿ç”¨ã€‚ **系统能力:** SystemCapability.ArkUI.ArkUI.Full | å称 | 类型 | å¿…å¡« | 装饰器类型 | 说明 | | -------- | -------- | -------- | -------- | -------- | | progress | number | 是 | \@Prop | 下载按钮的当å‰è¿›åº¦å€¼ã€‚ | | content | string | 是 | \@Prop | 下载按钮的文本。 | | progressButtonWidth | [Length](ts-types.md#length) | å¦ | - | 下载按钮的宽度。<br/>默认值:44。 | | clickCallback | () => void | 是 | - | 下载按钮的点击回调。 | | enable | boolean | 是 | \@Prop | 下载按钮是å¦å¯ä»¥ç‚¹å‡»ã€‚<br> enable为true时,表示å¯ä»¥ç‚¹å‡»ã€‚<br> enable为false时,表示ä¸å¯ç‚¹å‡»ã€‚ | ## 事件 支æŒ[通用事件](ts-universal-events-click.md) ## 示例 该示例实现了一个简å•çš„å¸¦åŠ è½½è¿›åº¦çš„æ–‡æœ¬ä¸‹è½½æŒ‰é’®ã€‚ ```ts import { ProgressButton } from '@kit.ArkUI' @Entry @Component struct Index { @State progressIndex: number = 0 @State textState: string = '下载' @State ButtonWidth: number = 200 @State isRunning: boolean = false @State enableState: boolean = true @State value: number = 0 build() { Column() { Scroll() { Column({ space: 20 }) { ProgressButton({ progress: this.progressIndex, progressButtonWidth: this.ButtonWidth, content: this.textState, enable: this.enableState, clickCallback: () => { if (this.textState && !this.isRunning && this.progressIndex < 100) { this.textState = '继ç»' } this.isRunning = !this.isRunning let timer = setInterval(() => { if (this.isRunning) { if (this.progressIndex === 100) { } else { this.progressIndex++ if (this.progressIndex === 100) { this.textState = '已完æˆ' this.enableState = false } } } else { clearInterval(timer) } }, 20) } }) }.alignItems(HorizontalAlign.Center).width('100%').margin({ top: 20 }) } } } } ``` 