Преглед изворни кода

wip: remove v-if key warning as there are legit use cases

Evan You пре 5 година
родитељ
комит
7a8cee8688

+ 0 - 1
packages/compiler-core/__tests__/transforms/vIf.spec.ts

@@ -306,7 +306,6 @@ describe('compiler: v-if', () => {
           code: ErrorCodes.X_V_IF_SAME_KEY
         }
       ])
-      expect('unnecessary key usage on v-if').toHaveBeenWarned()
     })
   })
 

+ 0 - 8
packages/compiler-core/src/errors.ts

@@ -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__]: ``
 }

+ 4 - 13
packages/compiler-core/src/transforms/vIf.ts

@@ -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`)
   }
 }