Commit 8a61b9fe99aabde5c42b02d96464458b480a9ade
1 parent
bb5520a7
slidebar eslint报错优化
Showing
2 changed files
with
17 additions
and
10 deletions
ruoyi-ui/src/assets/styles/element-ui.scss
ruoyi-ui/src/layout/components/Sidebar/Link.vue
1 | - | |
2 | 1 | <template> |
3 | - <!-- eslint-disable vue/require-component-is --> | |
4 | - <component v-bind="linkProps(to)"> | |
2 | + <component :is="type" v-bind="linkProps(to)"> | |
5 | 3 | <slot /> |
6 | 4 | </component> |
7 | 5 | </template> |
... | ... | @@ -16,19 +14,28 @@ export default { |
16 | 14 | required: true |
17 | 15 | } |
18 | 16 | }, |
17 | + computed: { | |
18 | + isExternal() { | |
19 | + return isExternal(this.to) | |
20 | + }, | |
21 | + type() { | |
22 | + if (this.isExternal) { | |
23 | + return 'a' | |
24 | + } | |
25 | + return 'router-link' | |
26 | + } | |
27 | + }, | |
19 | 28 | methods: { |
20 | - linkProps(url) { | |
21 | - if (isExternal(url)) { | |
29 | + linkProps(to) { | |
30 | + if (this.isExternal) { | |
22 | 31 | return { |
23 | - is: 'a', | |
24 | - href: url, | |
32 | + href: to, | |
25 | 33 | target: '_blank', |
26 | 34 | rel: 'noopener' |
27 | 35 | } |
28 | 36 | } |
29 | 37 | return { |
30 | - is: 'router-link', | |
31 | - to: url | |
38 | + to: to | |
32 | 39 | } |
33 | 40 | } |
34 | 41 | } |
... | ... |