ProgressBar · ProgressRing
Barras e anéis de progresso controlados, com estado indeterminado.
WebReact NativeProgresso
Experimente
Preparando o exemplo…
Uso mais curto
<ProgressBar value={progress} max={100} />
<ProgressRing value={progress} size={96}>{progress}%</ProgressRing>
<ProgressBar value={null} /> {/* indeterminate */}O que ele resolve para você
- Os valores ficam limitados a
0…max, enullmostra uma varredura indeterminada ou um arco girando. - Um valor novo no meio do movimento continua com a velocidade.
- Uma linha ou arco contínuo, nunca segmentos que saltam.
- Uma mola com
durationtermina exatamente nesse momento.
Use para
- Um upload de arquivo.
- O armazenamento usado de uma cota.
- O progresso de um checkout.
Props
ProgressBar
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
value | number | null | Progresso de 0 a max; null é indeterminado. | |
max | number | 100 | O valor que significa concluído. |
color | string | 'currentColor' | Cor do preenchimento. |
trackColor | string | '#e7ece9' | Cor da trilha. |
thickness | number | 8 | Espessura da linha, em pixels. |
direction | 'ltr' | 'rtl' | 'ltr' | Preencher pela esquerda (ltr) ou pela direita (rtl). |
transition | Transition | spring | Uma curva de tempo { duration, easing } ou uma mola { tempo: 'spring', spring }. As molas mantêm o embalo quando interrompidas. |
ProgressRing
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
value | number | null | Progresso de 0 a max; null é indeterminado. | |
max | number | 100 | O valor que significa concluído. |
size | number | 96 | Diâmetro, em pixels. |
thickness | number | 8 | Espessura do anel, em pixels. |
color | string | 'currentColor' | Cor do arco. |
trackColor | string | '#e7ece9' | Cor da trilha. |
children | ReactNode | Um rótulo exibido no centro. | |
transition | Transition | spring | Uma curva de tempo { duration, easing } ou uma mola { tempo: 'spring', spring }. As molas mantêm o embalo quando interrompidas. |
As outras props vão para o elemento renderizado, então className, style e handlers de eventos funcionam normalmente.
Web e React Native
ProgressRing aceita filhos como rótulo no centro; ProgressBar aceita direction para preencher pela direita.
Os mesmos componentes e props funcionam no React Native.