Commit e77474de9ef341960f0ff5a2804050fec5f0f02a

Authored by 梁灏
1 parent 5fe393db

update

Showing 2 changed files with 21 additions and 12 deletions   Show diff stats
src/components/cell/cell.vue
1 1 <template>
2 2 <div :class="classes" tabindex="0">
3   - <a v-if="to" :href="to" class="ivu-cell-link" @click.prevent="handleClick">
  3 + <a v-if="to" :href="linkUrl" class="ivu-cell-link" @click.prevent="handleClick">
4 4 <CellItem :title="title" :label="label" :extra="extra">
5 5 <slot name="icon" slot="icon"></slot>
6 6 <slot></slot>
... ... @@ -24,11 +24,13 @@
24 24 <script>
25 25 import CellItem from './cell-item.vue';
26 26 import Icon from '../icon/icon.vue';
  27 + import mixinsLink from '../../mixins/link';
27 28  
28 29 const prefixCls = 'ivu-cell';
29 30  
30 31 export default {
31 32 name: 'Cell',
  33 + mixins: [ mixinsLink ],
32 34 components: { CellItem, Icon },
33 35 props: {
34 36 name: {
... ... @@ -77,17 +79,7 @@
77 79 [`${prefixCls}-with-link`]: this.to
78 80 }
79 81 ];
80   - }
  82 + },
81 83 },
82   - methods: {
83   - handleClick () {
84   - const isRoute = this.$router;
85   - if (isRoute) {
86   - this.replace ? this.$router.replace(this.to) : this.$router.push(this.to);
87   - } else {
88   - window.location.href = this.to;
89   - }
90   - }
91   - }
92 84 }
93 85 </script>
94 86 \ No newline at end of file
... ...
src/mixins/link.js 0 → 100644
  1 +export default {
  2 + computed: {
  3 + linkUrl () {
  4 +
  5 + }
  6 + },
  7 + methods: {
  8 + handleClick () {
  9 + const isRoute = this.$router;
  10 + if (isRoute) {
  11 + this.replace ? this.$router.replace(this.to) : this.$router.push(this.to);
  12 + } else {
  13 + window.location.href = this.to;
  14 + }
  15 + }
  16 + }
  17 +}
0 18 \ No newline at end of file
... ...