跳到內容

useMediaQuery

類別
匯出大小
455 B
上次變更
5 天前

響應式 媒體查詢。一旦您建立了一個 MediaQueryList 物件,您可以檢查查詢結果或在結果變更時接收通知。

範例

isLargeScreen: false
prefersDark: false

用法

js
import { useMediaQuery } from '@vueuse/core'

const isLargeScreen = useMediaQuery('(min-width: 1024px)')
const isPreferredDark = useMediaQuery('(prefers-color-scheme: dark)')

伺服器端渲染與 Nuxt

如果您正在使用啟用 SSR 的 useMediaQuery,那麼您需要指定您想要在伺服器上渲染的螢幕尺寸,以及在 hydration 之前,以避免 hydration 不匹配

js
import { breakpointsTailwind, useMediaQuery } from '@vueuse/core'

const isLarge = useMediaQuery(
  '(min-width: 1024px)',
  { ssrWidth: 768 } // Will enable SSR mode and render like if the screen was 768px wide
)

console.log(isLarge.value) // always false because ssrWidth of 768px is smaller than 1024px
onMounted(() => {
  console.log(isLarge.value) // false if screen is smaller than 1024px, true if larger than 1024px
})

或者,您可以使用 provideSSRWidth 為您的應用程式全域設定此項

類型宣告

typescript
/**
 * Reactive Media Query.
 *
 * @see https://vueuse.dev.org.tw/useMediaQuery
 * @param query
 * @param options
 */
export declare function useMediaQuery(
  query: MaybeRefOrGetter<string>,
  options?: ConfigurableWindow & {
    ssrWidth?: number
  },
): ComputedRef<boolean>

原始碼

原始碼範例文件

貢獻者

Anthony Fu
Antério Vieira
Anthony Fu
IlyaL
Fernando Fernández
Adrien Foulon
Alex
Indrek Ardel
Zhousg
Young
Jelf
Dominik Freier
webfansplz
Eureka
karma
Alex Kozack
Jacob Clevenger

變更日誌

v12.8.0 於 2025/3/5
7432f - feat(types): 棄用 MaybeRef 和 MaybeRefOrGetter,改用 Vue 原生 (#4636)
v12.5.0 於 2025/1/22
c6c6e - feat: 在未使用 useEventListener 的地方使用它 (#4479)
v12.3.0 於 2025/1/2
59f75 - feat(toValue): 棄用 @vueuse/shared 中的 toValue,改用 Vue 原生
v12.1.0 於 2024/12/22
55965 - feat(useSSRWidth): 在 useMediaQuery 和 useBreakpoints 中新增對 SSR 的可選支援 (#4317)
3af75 - fix: 返回值應為 computed (#4403)
v12.0.0-beta.1 於 2024/11/21
0a9ed - feat!: 移除 Vue 2 支援,最佳化 bundle 並清理 (#4349)
v10.3.0 於 2023/7/30
f3969 - fix: 僅在查詢變更時新增/移除事件監聽器 (#3236)
v10.0.0-beta.4 於 2023/4/13
4d757 - feat(types)!: 將 MaybeComputedRef 重新命名為 MaybeRefOrGetter
10e98 - feat(toRef)!: 將 resolveRef 重新命名為 toRef
v10.0.0-beta.3 於 2023/4/12
4e7b0 - fix(useWindowSize)!: 使用媒體查詢取代 orientationchange 監聽器 (#2919)

以 MIT 授權條款發布。