| | |
| | | .fixed-width {
|
| | | .el-button--mini {
|
| | | padding: 7px 10px;
|
| | | min-width: 60px;
|
| | | width: 60px;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | |
|
| | | <template>
|
| | | <!-- eslint-disable vue/require-component-is -->
|
| | | <component v-bind="linkProps(to)">
|
| | | <component :is="type" v-bind="linkProps(to)">
|
| | | <slot />
|
| | | </component>
|
| | | </template>
|
| | |
| | | required: true
|
| | | }
|
| | | },
|
| | | computed: {
|
| | | isExternal() {
|
| | | return isExternal(this.to)
|
| | | },
|
| | | type() {
|
| | | if (this.isExternal) {
|
| | | return 'a'
|
| | | }
|
| | | return 'router-link'
|
| | | }
|
| | | },
|
| | | methods: {
|
| | | linkProps(url) {
|
| | | if (isExternal(url)) {
|
| | | linkProps(to) {
|
| | | if (this.isExternal) {
|
| | | return {
|
| | | is: 'a',
|
| | | href: url,
|
| | | href: to,
|
| | | target: '_blank',
|
| | | rel: 'noopener'
|
| | | }
|
| | | }
|
| | | return {
|
| | | is: 'router-link',
|
| | | to: url
|
| | | to: to
|
| | | }
|
| | | }
|
| | | }
|