wip: remove v-if key warning as there are legit use cases
This commit is contained in:
parent
c32760147c
commit
7a8cee8688
@ -306,7 +306,6 @@ describe('compiler: v-if', () => {
|
||||
code: ErrorCodes.X_V_IF_SAME_KEY
|
||||
}
|
||||
])
|
||||
expect('unnecessary key usage on v-if').toHaveBeenWarned()
|
||||
})
|
||||
})
|
||||
|
||||
|
@ -91,9 +91,6 @@ export const enum ErrorCodes {
|
||||
X_CACHE_HANDLER_NOT_SUPPORTED,
|
||||
X_SCOPE_ID_NOT_SUPPORTED,
|
||||
|
||||
// warnings
|
||||
X_V_IF_KEY,
|
||||
|
||||
// Special value for higher-order compilers to pick up the last code
|
||||
// to avoid collision of error codes. This should always be kept as the last
|
||||
// item.
|
||||
@ -174,11 +171,6 @@ export const errorMessages: Record<ErrorCodes, string> = {
|
||||
[ErrorCodes.X_CACHE_HANDLER_NOT_SUPPORTED]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
|
||||
[ErrorCodes.X_SCOPE_ID_NOT_SUPPORTED]: `"scopeId" option is only supported in module mode.`,
|
||||
|
||||
// warnings
|
||||
[ErrorCodes.X_V_IF_KEY]:
|
||||
`unnecessary key usage on v-if/else branches. ` +
|
||||
`Vue will automatically generate unique keys for each branch.`,
|
||||
|
||||
// just to fullfill types
|
||||
[ErrorCodes.__EXTEND_POINT__]: ``
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ export function processIf(
|
||||
}
|
||||
|
||||
if (dir.name === 'if') {
|
||||
const branch = createIfBranch(node, dir, context)
|
||||
const branch = createIfBranch(node, dir)
|
||||
const ifNode: IfNode = {
|
||||
type: NodeTypes.IF,
|
||||
loc: node.loc,
|
||||
@ -145,7 +145,7 @@ export function processIf(
|
||||
if (sibling && sibling.type === NodeTypes.IF) {
|
||||
// move the node to the if node's branches
|
||||
context.removeNode()
|
||||
const branch = createIfBranch(node, dir, context)
|
||||
const branch = createIfBranch(node, dir)
|
||||
if (__DEV__ && comments.length) {
|
||||
branch.children = [...comments, ...branch.children]
|
||||
}
|
||||
@ -187,16 +187,7 @@ export function processIf(
|
||||
}
|
||||
}
|
||||
|
||||
function createIfBranch(
|
||||
node: ElementNode,
|
||||
dir: DirectiveNode,
|
||||
context: TransformContext
|
||||
): IfBranchNode {
|
||||
const userKey = findProp(node, `key`)
|
||||
if (__DEV__ && userKey) {
|
||||
context.onWarn(createCompilerError(ErrorCodes.X_V_IF_KEY, userKey.loc))
|
||||
}
|
||||
|
||||
function createIfBranch(node: ElementNode, dir: DirectiveNode): IfBranchNode {
|
||||
return {
|
||||
type: NodeTypes.IF_BRANCH,
|
||||
loc: node.loc,
|
||||
@ -205,7 +196,7 @@ function createIfBranch(
|
||||
node.tagType === ElementTypes.TEMPLATE && !findDir(node, 'for')
|
||||
? node.children
|
||||
: [node],
|
||||
userKey
|
||||
userKey: findProp(node, `key`)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user