mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 08:33:53 +00:00
fix(nuxt): only warn for useId
if attrs were not rendered (#25770)
This commit is contained in:
parent
37d24eed7d
commit
a1c1fda006
@ -19,7 +19,7 @@ export function useId (key?: string): string {
|
||||
|
||||
if (!instance) {
|
||||
// TODO: support auto-incrementing ID for plugins if there is need?
|
||||
throw new TypeError('[nuxt] `useId` must be called within a component.')
|
||||
throw new TypeError('[nuxt] `useId` must be called within a component setup function.')
|
||||
}
|
||||
|
||||
nuxtApp._id ||= 0
|
||||
@ -29,9 +29,6 @@ export function useId (key?: string): string {
|
||||
const instanceIndex = key + ':' + instance._nuxtIdIndex[key]++
|
||||
|
||||
if (import.meta.server) {
|
||||
if (import.meta.dev && instance.vnode.type && typeof instance.vnode.type === 'object' && 'inheritAttrs' in instance.vnode.type && instance.vnode.type.inheritAttrs === false) {
|
||||
console.warn('[nuxt] `useId` is not compatible with components that have `inheritAttrs: false`.')
|
||||
}
|
||||
const ids = JSON.parse(instance.attrs[ATTR_KEY] as string | undefined || '{}')
|
||||
ids[instanceIndex] = key + ':' + nuxtApp._id++
|
||||
instance.attrs[ATTR_KEY] = JSON.stringify(ids)
|
||||
@ -48,6 +45,10 @@ export function useId (key?: string): string {
|
||||
if (ids[instanceIndex]) {
|
||||
return ids[instanceIndex]
|
||||
}
|
||||
|
||||
if (import.meta.dev && instance.vnode.type && typeof instance.vnode.type === 'object' && 'inheritAttrs' in instance.vnode.type && instance.vnode.type.inheritAttrs === false) {
|
||||
console.warn('[nuxt] `useId` might not work correctly with components that have `inheritAttrs: false`.')
|
||||
}
|
||||
}
|
||||
|
||||
// pure client-side ids, avoiding potential collision with server-side ids
|
||||
|
Loading…
Reference in New Issue
Block a user