跳到主要內容

useNProgress

類別
導出大小
448 B
Package
@vueuse/integrations
最後更改
5 days ago

用於 nprogress 的響應式封裝器。

範例

點擊以更改進度狀態
可在 @vueuse/integrations 附加元件中使用。

安裝

bash
npm i nprogress@^0

用法

js
import { useNProgress } from '@vueuse/integrations/useNProgress'

const { isLoading } = useNProgress()

function toggle() {
  isLoading.value = !isLoading.value
}

傳遞進度百分比

您可以傳遞一個百分比來指示進度條應該從哪裡開始。

js
import { useNProgress } from '@vueuse/integrations/useNProgress'

const { progress } = useNProgress(0.5)

function done() {
  progress.value = 1.0
}

要更改進度百分比,請設置 progress.value = n,其中 n 是介於 0..1 之間的數字。

自訂

只需編輯 nprogress.css 以符合您的喜好。提示:您可能只想查找並替換 #29d 的出現次數。

您可以通過傳遞一個對象作為第二個參數來 配置 它。

js
import { useNProgress } from '@vueuse/integrations/useNProgress'

useNProgress(null, {
  minimum: 0.1,
  // ...
})

類型宣告

typescript
export type UseNProgressOptions = Partial<NProgressOptions>
/**
 * Reactive progress bar.
 *
 * @see https://vueuse.dev.org.tw/useNProgress
 */
export declare function useNProgress(
  currentProgress?: MaybeRefOrGetter<number | null | undefined>,
  options?: UseNProgressOptions,
): {
  isLoading: WritableComputedRef<boolean, boolean>
  progress: Ref<number | null | undefined, number | null | undefined>
  start: () => nprogress.NProgress
  done: (force?: boolean) => nprogress.NProgress
  remove: () => void
}
export type UseNProgressReturn = ReturnType<typeof useNProgress>

原始碼

原始碼範例文件

貢獻者

Anthony Fu
Anthony Fu
Antério Vieira
IlyaL
Robin
Robert Soriano
Doctorwu
丶远方
Agénor Debriat
webfansplz
Curt Grimes
Jelf
Michael Hüneburg
Alex Kozack

更新日誌

v12.8.0 於 3/5/2025
7432f - feat(types): 棄用 MaybeRefMaybeRefOrGetter,改用 Vue 原生 (#4636)
v12.0.0-beta.1 於 11/21/2024
0a9ed - feat!: 移除 Vue 2 支持,優化捆綁包並清理 (#4349)
v10.0.0-beta.5 於 4/13/2023
cb644 - refactor!: 移除 isFunctionisString 工具函數
v10.0.0-beta.4 於 4/13/2023
4d757 - feat(types)!: 將 MaybeComputedRef 重命名為 MaybeRefOrGetter

在 MIT 許可證下發布。