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."]
}
]
})