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 | } | ... | ... |