Blame view

src/components/cell/cell.vue 2.78 KB
59a3b893   梁灏   add Cell componen...
1
  <template>
4258a559   梁灏   update
2
      <div :class="classes">
5d6bf568   梁灏   update Cell
3
4
5
6
7
8
9
10
          <a
              v-if="to"
              :href="linkUrl"
              :target="target"
              class="ivu-cell-link"
              @click.exact="handleClickItem($event, false)"
              @click.ctrl="handleClickItem($event, true)"
              @click.meta="handleClickItem($event, true)">
da76a284   梁灏   update Cell
11
12
              <CellItem :title="title" :label="label" :extra="extra">
                  <slot name="icon" slot="icon"></slot>
4258a559   梁灏   update
13
                  <slot slot="default"></slot>
da76a284   梁灏   update Cell
14
                  <slot name="extra" slot="extra"></slot>
4258a559   梁灏   update
15
                  <slot name="label" slot="label"></slot>
da76a284   梁灏   update Cell
16
17
              </CellItem>
          </a>
9c529885   梁灏   Cell component ad...
18
          <div class="ivu-cell-link" v-else @click="handleClickItem">
da76a284   梁灏   update Cell
19
20
              <CellItem :title="title" :label="label" :extra="extra">
                  <slot name="icon" slot="icon"></slot>
4258a559   梁灏   update
21
                  <slot slot="default"></slot>
da76a284   梁灏   update Cell
22
                  <slot name="extra" slot="extra"></slot>
4258a559   梁灏   update
23
                  <slot name="label" slot="label"></slot>
da76a284   梁灏   update Cell
24
25
26
27
              </CellItem>
          </div>
          <div class="ivu-cell-arrow" v-if="to">
              <slot name="arrow">
e94e7643   梁灏   update Cell icons
28
                  <Icon type="ios-arrow-forward"></Icon>
da76a284   梁灏   update Cell
29
30
31
              </slot>
          </div>
      </div>
59a3b893   梁灏   add Cell componen...
32
33
  </template>
  <script>
da76a284   梁灏   update Cell
34
35
      import CellItem from './cell-item.vue';
      import Icon from '../icon/icon.vue';
e77474de   梁灏   update
36
      import mixinsLink from '../../mixins/link';
da76a284   梁灏   update Cell
37
38
39
  
      const prefixCls = 'ivu-cell';
  
59a3b893   梁灏   add Cell componen...
40
      export default {
da76a284   梁灏   update Cell
41
          name: 'Cell',
9c529885   梁灏   Cell component ad...
42
          inject: ['cellGroup'],
e77474de   梁灏   update
43
          mixins: [ mixinsLink ],
da76a284   梁灏   update Cell
44
          components: { CellItem, Icon },
59a3b893   梁灏   add Cell componen...
45
          props: {
da76a284   梁灏   update Cell
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
              name: {
                  type: [String, Number]
              },
              title: {
                  type: String,
                  default: ''
              },
              label: {
                  type: String,
                  default: ''
              },
              extra: {
                  type: String,
                  default: ''
              },
              disabled: {
                  type: Boolean,
                  default: false
              },
              selected: {
                  type: Boolean,
                  default: false
da76a284   梁灏   update Cell
68
              }
59a3b893   梁灏   add Cell componen...
69
          },
da76a284   梁灏   update Cell
70
71
72
          data () {
              return {
                  prefixCls: prefixCls
77376451   梁灏   fixed #3568
73
              };
da76a284   梁灏   update Cell
74
75
76
77
78
79
80
81
82
83
84
          },
          computed: {
              classes () {
                  return [
                      `${prefixCls}`,
                      {
                          [`${prefixCls}-disabled`]: this.disabled,
                          [`${prefixCls}-selected`]: this.selected,
                          [`${prefixCls}-with-link`]: this.to
                      }
                  ];
e77474de   梁灏   update
85
              },
da76a284   梁灏   update Cell
86
          },
9c529885   梁灏   Cell component ad...
87
          methods: {
5d6bf568   梁灏   update Cell
88
              handleClickItem (event, new_window) {
9c529885   梁灏   Cell component ad...
89
                  this.cellGroup.handleClick(this.name);
b216f33c   梁灏   update Cell compo...
90
  
5d6bf568   梁灏   update Cell
91
                  this.handleCheckClick(event, new_window);
9c529885   梁灏   Cell component ad...
92
93
              }
          }
77376451   梁灏   fixed #3568
94
      };
59a3b893   梁灏   add Cell componen...
95
  </script>