Commit 3c38e4f7f1d88e779bb10960184a7d34d0e9ac61

Authored by 梁灏
1 parent 87a400d8

update Table cell

update Table cell
Showing 2 changed files with 41 additions and 60 deletions   Show diff stats
examples/routers/table.vue
1 <template> 1 <template>
2 - <Table width="550" :content="self" border :columns="columns2" :data="data3"></Table> 2 + <Card>
  3 + <Table border :content="self" :columns="columns7" :data="data6"></Table>
  4 + </Card>
3 </template> 5 </template>
4 <script> 6 <script>
5 export default { 7 export default {
6 - name: 'vvv',  
7 data () { 8 data () {
8 return { 9 return {
9 self: this, 10 self: this,
10 - columns2: [ 11 + columns7: [
11 { 12 {
12 title: '姓名', 13 title: '姓名',
13 key: 'name', 14 key: 'name',
14 - width: 100,  
15 - fixed: 'left' 15 + render (row, column, index) {
  16 + return `<Icon type="person"></Icon> <strong>${row.name}</strong>`;
  17 + }
16 }, 18 },
17 { 19 {
18 title: '年龄', 20 title: '年龄',
19 - key: 'age',  
20 - width: 100  
21 - },  
22 - {  
23 - title: '省份',  
24 - key: 'province',  
25 - width: 100  
26 - },  
27 - {  
28 - title: '市区',  
29 - key: 'city',  
30 - width: 100 21 + key: 'age'
31 }, 22 },
32 { 23 {
33 title: '地址', 24 title: '地址',
34 - key: 'address',  
35 - width: 200  
36 - },  
37 - {  
38 - title: '邮编',  
39 - key: 'zip',  
40 - width: 100 25 + key: 'address'
41 }, 26 },
42 { 27 {
43 title: '操作', 28 title: '操作',
44 key: 'action', 29 key: 'action',
45 - fixed: 'right',  
46 - width: 120,  
47 - render () {  
48 - return `<i-button type="text" size="small" @click.native="handleClick">查看</i-button><i-button type="text" size="small">编辑</i-button>`; 30 + width: 150,
  31 + align: 'center',
  32 + render (row, column, index) {
  33 + return `<i-button type="primary" size="small" @click.native="show(${index})">查看</i-button> <i-button type="error" size="small" @click.native="remove(${index})">删除</i-button>`;
49 } 34 }
50 } 35 }
51 ], 36 ],
52 - data3: [ 37 + data6: [
53 { 38 {
54 name: '王小明', 39 name: '王小明',
55 age: 18, 40 age: 18,
56 - address: '北京市朝阳区芍药居',  
57 - province: '北京市',  
58 - city: '朝阳区',  
59 - zip: 100000 41 + address: '北京市朝阳区芍药居'
60 }, 42 },
61 -// {  
62 -// name: '张小刚',  
63 -// age: 25,  
64 -// address: '北京市海淀区西二旗',  
65 -// province: '北京市',  
66 -// city: '海淀区',  
67 -// zip: 100000  
68 -// },  
69 -// {  
70 -// name: '李小红',  
71 -// age: 30,  
72 -// address: '上海市浦东新区世纪大道',  
73 -// province: '上海市',  
74 -// city: '浦东新区',  
75 -// zip: 100000  
76 -// },  
77 -// {  
78 -// name: '周小伟',  
79 -// age: 26,  
80 -// address: '深圳市南山区深南大道',  
81 -// province: '广东',  
82 -// city: '南山区',  
83 -// zip: 100000  
84 -// } 43 + {
  44 + name: '张小刚',
  45 + age: 25,
  46 + address: '北京市海淀区西二旗'
  47 + },
  48 + {
  49 + name: '李小红',
  50 + age: 30,
  51 + address: '上海市浦东新区世纪大道'
  52 + },
  53 + {
  54 + name: '周小伟',
  55 + age: 26,
  56 + address: '深圳市南山区深南大道'
  57 + }
85 ] 58 ]
86 } 59 }
87 }, 60 },
88 methods: { 61 methods: {
89 - handleClick () {  
90 - console.log(123) 62 + show (index) {
  63 + console.log(`姓名:${this.data6[index].name}<br>年龄:${this.data6[index].age}<br>地址:${this.data6[index].address}`)
  64 + },
  65 + remove (index) {
  66 + this.data6.splice(index, 1);
91 } 67 }
  68 + },
  69 + mounted () {
  70 + setTimeout(() => {
  71 +// this.data6.splice(2, 1);
  72 + }, 3000)
92 } 73 }
93 } 74 }
94 </script> 75 </script>
src/components/table/cell.vue
@@ -60,7 +60,7 @@ @@ -60,7 +60,7 @@
60 this.$el.innerHTML = ''; 60 this.$el.innerHTML = '';
61 let methods = {}; 61 let methods = {};
62 Object.keys($parent).forEach(key => { 62 Object.keys($parent).forEach(key => {
63 - const func = this.$parent.$parent.$parent[`${key}`]; 63 + const func = $parent[`${key}`];
64 if (typeof(func) === 'function' && func.name === 'boundFn') { 64 if (typeof(func) === 'function' && func.name === 'boundFn') {
65 methods[`${key}`] = func; 65 methods[`${key}`] = func;
66 } 66 }