mirror of
https://github.com/Hopiu/vue-material.git
synced 2026-05-03 21:14:44 +00:00
Add support to router-link
This commit is contained in:
parent
c971b04613
commit
b18c5657ce
1 changed files with 33 additions and 8 deletions
|
|
@ -1,11 +1,3 @@
|
|||
<template>
|
||||
<li class="md-list-item" @click="$emit('click')">
|
||||
<md-button :title="title" :target="target" :href="href" class="md-list-item-container">
|
||||
<slot></slot>
|
||||
</md-button>
|
||||
</li>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
|
|
@ -13,6 +5,39 @@
|
|||
vLink: [String, Object],
|
||||
title: String,
|
||||
target: String
|
||||
},
|
||||
render(createElement) {
|
||||
let containerClass = 'md-button md-list-item-container';
|
||||
let listItem = {
|
||||
staticClass: 'md-list-item',
|
||||
on: {
|
||||
click: () => {
|
||||
this.$emit('click');
|
||||
}
|
||||
}
|
||||
};
|
||||
let slot = this.$slots.default;
|
||||
let componentOptions = slot[0].componentOptions;
|
||||
|
||||
if (componentOptions && componentOptions.tag === 'router-link') {
|
||||
slot[0].data.staticClass = containerClass;
|
||||
slot[0].data.directives = [{
|
||||
name: 'md-ink-ripple'
|
||||
}];
|
||||
|
||||
return createElement('li', listItem, slot);
|
||||
}
|
||||
|
||||
let button = createElement('md-button', {
|
||||
staticClass: containerClass,
|
||||
attrs: {
|
||||
title: this.title,
|
||||
target: this.target,
|
||||
href: this.href
|
||||
}
|
||||
}, slot);
|
||||
|
||||
return createElement('li', listItem, [button]);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in a new issue