From f2b4e88563499b9dd279b8a1f6f5cd9935c65886 Mon Sep 17 00:00:00 2001 From: HerringtonDarkholme Date: Fri, 27 Oct 2017 17:11:28 +0800 Subject: [PATCH] fix #216: require-v-for-key shouldn't be raised on slots --- lib/rules/require-v-for-key.js | 2 +- tests/lib/rules/require-v-for-key.js | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/rules/require-v-for-key.js b/lib/rules/require-v-for-key.js index 448cd5351..d0bf59a91 100644 --- a/lib/rules/require-v-for-key.js +++ b/lib/rules/require-v-for-key.js @@ -21,7 +21,7 @@ const utils = require('../utils') * @param {ASTNode} element The element node to check. */ function checkKey (context, element) { - if (element.name === 'template') { + if (element.name === 'template' || element.name === 'slot') { for (const child of element.children) { if (child.type === 'VElement') { checkKey(context, child) diff --git a/tests/lib/rules/require-v-for-key.js b/tests/lib/rules/require-v-for-key.js index 5d4a18376..ab026ed4b 100644 --- a/tests/lib/rules/require-v-for-key.js +++ b/tests/lib/rules/require-v-for-key.js @@ -42,6 +42,14 @@ tester.run('require-v-for-key', rule, { { filename: 'test.vue', code: '' + }, + { + filename: 'test.vue', + code: '' + }, + { + filename: 'test.vue', + code: '' } ], invalid: [ @@ -59,6 +67,11 @@ tester.run('require-v-for-key', rule, { filename: 'test.vue', code: '', errors: ["Elements in iteration expect to have 'v-bind:key' directives."] + }, + { + filename: 'test.vue', + code: '', + errors: ["Elements in iteration expect to have 'v-bind:key' directives."] } ] })