mirror of
https://gitee.com/ccnetcore/Yi
synced 2026-03-03 00:00:58 +08:00
59 lines
1.2 KiB
Vue
59 lines
1.2 KiB
Vue
<template>
|
|
<v-list-item
|
|
:href="item.href"
|
|
:rel="item.href ? 'nofollow' : undefined"
|
|
:target="item.href ? '_blank' : undefined"
|
|
:to="item.router"
|
|
active-class="primary white--text"
|
|
link
|
|
class="py-1"
|
|
v-bind="$attrs"
|
|
v-on="$listeners"
|
|
>
|
|
<v-list-item-icon
|
|
v-if="!item.icon"
|
|
class="text-caption text-uppercase justify-center ml-1 my-2 align-self-center"
|
|
>
|
|
{{ title }}
|
|
</v-list-item-icon>
|
|
|
|
<v-list-item-avatar v-if="item.avatar">
|
|
<v-img :src="item.avatar" />
|
|
</v-list-item-avatar>
|
|
|
|
<v-list-item-icon
|
|
v-if="item.icon"
|
|
class="my-2 align-self-center"
|
|
>
|
|
<v-icon v-text="item.icon" />
|
|
</v-list-item-icon>
|
|
|
|
<v-list-item-content v-if="item.menu_name">
|
|
<v-list-item-title v-text="item.menu_name" />
|
|
</v-list-item-content>
|
|
</v-list-item>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'DefaultListItem',
|
|
|
|
props: {
|
|
item: {
|
|
type: Object,
|
|
default: () => ({}),
|
|
},
|
|
},
|
|
|
|
computed: {
|
|
title () {
|
|
const matches = this.item.menu_name.match(/\b(\w)/g)
|
|
if(matches!=null)
|
|
{
|
|
return matches.join('')
|
|
}
|
|
},
|
|
},
|
|
}
|
|
</script>
|