-
-
Notifications
You must be signed in to change notification settings - Fork 664
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
⭐️New: Add vue/no-deprecated-slot-attribute rule #839
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this rule!
Almost LGTM, but I have a few suggestions.
- Changed to check `v-bind:slot`. - Changed not to autofix, if it becomes an invalid attribute name after autofix.
Thank you for your review! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sorry, I had overlooked this in the previous review.
output: ` | ||
<template> | ||
<LinkList> | ||
<a v-slot:name /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, sorry, I had overlooked this in the previous review.
In some cases, slot
and v-slot
should be in different places.
v-slot
must be on a<template>
element which is a direct child of a custom element.v-slot
for the default slot can be on a custom element directly if there are no named slots.
So in this case, the <a>
element must be wrapped by a <template>
element.
In the example of nested default slots, it will be moved to the parent element.
Therefore, autofix may be tough to implement... 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the late reply.
Thank you for pointing this out.
Sorry, I did not understand v-slot
correctly.
I will change it so that it will only autofix if slot
is attached to <template>
.
vue/no-deprecated-slot-attribute
rule reports deprecatedslot
attribute in Vue.js v2.6.0+.refs #800 (comment)