Blame view

src/components/table/table-body.vue 2.55 KB
2cb8a6d9   梁灏   commit Table comp...
1
  <template>
7f34c510   梁灏   update Table
2
3
      <table cellspacing="0" cellpadding="0" border="0" :style="style">
          <colgroup>
224a3ae5   梁灏   publish 0.9.9-rc-3
4
              <col v-for="column in columns" :width="setCellWidth(column, $index)">
7f34c510   梁灏   update Table
5
6
7
          </colgroup>
          <tbody :class="[prefixCls + '-tbody']">
              <tr
741b987a   梁灏   update Table
8
                  v-for="(index, row) in data"
d3dfdb26   梁灏   update Table
9
10
11
12
                  :class="rowClasses(row._index)"
                  @mouseenter.stop="handleMouseIn(row._index)"
                  @mouseleave.stop="handleMouseOut(row._index)"
                  @click.stop="highlightCurrentRow(row._index)">
7f34c510   梁灏   update Table
13
14
15
16
17
18
                  <td v-for="column in columns" :class="alignCls(column)">
                      <Cell
                          :fixed="fixed"
                          :prefix-cls="prefixCls"
                          :row="row"
                          :column="column"
741b987a   梁灏   update Table
19
20
                          :natural-index="index"
                          :index="row._index"
d3dfdb26   梁灏   update Table
21
                          :checked="rowChecked(row._index)"></Cell>
7f34c510   梁灏   update Table
22
23
24
                  </td>
              </tr>
          </tbody>
3ef4dfb9   梁灏   update Table
25
      </table>
2cb8a6d9   梁灏   commit Table comp...
26
27
  </template>
  <script>
7f34c510   梁灏   update Table
28
29
30
      import Cell from './cell.vue';
      import Mixin from './mixin';
  
2cb8a6d9   梁灏   commit Table comp...
31
      export default {
7f34c510   梁灏   update Table
32
33
          mixins: [ Mixin ],
          components: { Cell },
2cb8a6d9   梁灏   commit Table comp...
34
          props: {
7f34c510   梁灏   update Table
35
36
37
              prefixCls: String,
              style: Object,
              columns: Array,
741b987a   梁灏   update Table
38
              data: Array,    // rebuildData
741b987a   梁灏   update Table
39
              objData: Object,
224a3ae5   梁灏   publish 0.9.9-rc-3
40
              columnsWidth: Object,
5d0499ce   梁灏   update Table
41
42
43
44
              fixed: {
                  type: [Boolean, String],
                  default: false
              }
2cb8a6d9   梁灏   commit Table comp...
45
46
          },
          methods: {
d3dfdb26   梁灏   update Table
47
              rowClasses (_index) {
c6f21c2f   jingsam   :bug: fix ie bug
48
49
                  return [
                      `${this.prefixCls}-row`,
741b987a   梁灏   update Table
50
                      this.rowClsName(_index),
c6f21c2f   jingsam   :bug: fix ie bug
51
                      {
97edb2eb   梁灏   update Table
52
53
                          [`${this.prefixCls}-row-highlight`]: this.objData[_index] && this.objData[_index]._isHighlight,
                          [`${this.prefixCls}-row-hover`]: this.objData[_index] && this.objData[_index]._isHover
c6f21c2f   jingsam   :bug: fix ie bug
54
                      }
c6f21c2f   jingsam   :bug: fix ie bug
55
56
                  ]
              },
d3dfdb26   梁灏   update Table
57
              rowChecked (_index) {
97edb2eb   梁灏   update Table
58
                  return this.objData[_index] && this.objData[_index]._isChecked;
741b987a   梁灏   update Table
59
              },
d3dfdb26   梁灏   update Table
60
61
              rowClsName (_index) {
                  return this.$parent.rowClassName(this.objData[_index], _index);
7f34c510   梁灏   update Table
62
              },
d3dfdb26   梁灏   update Table
63
64
              handleMouseIn (_index) {
                  this.$parent.handleMouseIn(_index);
7f34c510   梁灏   update Table
65
              },
d3dfdb26   梁灏   update Table
66
67
              handleMouseOut (_index) {
                  this.$parent.handleMouseOut(_index);
7f34c510   梁灏   update Table
68
              },
d3dfdb26   梁灏   update Table
69
70
              highlightCurrentRow (_index) {
                  this.$parent.highlightCurrentRow(_index);
7f34c510   梁灏   update Table
71
              }
2cb8a6d9   梁灏   commit Table comp...
72
73
          }
      }
39311a50   梁灏   update Table
74
  </script>