Commit ceeb9361fd0cf3fbd4130688c52594acd842948f
1 parent
504f8c52
fixed Table bug in Vue 2.5.13
Showing
4 changed files
with
52 additions
and
890 deletions
Show diff stats
build/webpack.base.config.js
@@ -63,7 +63,7 @@ module.exports = { | @@ -63,7 +63,7 @@ module.exports = { | ||
63 | resolve: { | 63 | resolve: { |
64 | extensions: ['.js', '.vue'], | 64 | extensions: ['.js', '.vue'], |
65 | alias: { | 65 | alias: { |
66 | - 'vue': 'vue/dist/vue.esm.js', | 66 | + 'vue': 'vue/dist/vue.runtime.js', |
67 | '@': resolve('src') | 67 | '@': resolve('src') |
68 | } | 68 | } |
69 | }, | 69 | }, |
build/webpack.dev.config.js
@@ -27,8 +27,8 @@ module.exports = merge(webpackBaseConfig, { | @@ -27,8 +27,8 @@ module.exports = merge(webpackBaseConfig, { | ||
27 | resolve: { | 27 | resolve: { |
28 | alias: { | 28 | alias: { |
29 | iview: '../../src/index', | 29 | iview: '../../src/index', |
30 | - vue: 'vue/dist/vue.esm.js' | ||
31 | - // vue: 'vue/dist/vue.runtime.js' | 30 | + // vue: 'vue/dist/vue.esm.js' |
31 | + vue: 'vue/dist/vue.runtime.js' | ||
32 | } | 32 | } |
33 | }, | 33 | }, |
34 | plugins: [ | 34 | plugins: [ |
examples/routers/table.vue
1 | -<!--<template>--> | ||
2 | - <!--<div>--> | ||
3 | - <!--<Table width="550" height="200" highlight-row :loading="loading" :columns="columns3" :data="data1" ref="table" @on-current-change="handleChange" @on-row-click="rc">--> | ||
4 | - <!--<div slot="loading">--> | ||
5 | - <!--<Icon type="load-c" size=18 class="demo-spin-icon-load"></Icon>--> | ||
6 | - <!--<div>Loading</div>--> | ||
7 | - <!--</div>--> | ||
8 | - <!--</Table>--> | ||
9 | - <!--<br><br>--> | ||
10 | - <!--<Button @click="handleClear">clear</Button>--> | ||
11 | - <!--<Button @click="loading = !loading">Loading</Button>--> | ||
12 | - <!--</div>--> | ||
13 | -<!--</template>--> | ||
14 | -<!--<script>--> | ||
15 | - <!--export default {--> | ||
16 | - <!--data () {--> | ||
17 | - <!--return {--> | ||
18 | - <!--loading: false,--> | ||
19 | - <!--columns3: [--> | ||
20 | - <!--{--> | ||
21 | - <!--title: '姓名',--> | ||
22 | - <!--key: 'name',--> | ||
23 | - <!--width: 100,--> | ||
24 | - <!--fixed: 'left'--> | ||
25 | - <!--},--> | ||
26 | - <!--{--> | ||
27 | - <!--title: '年龄',--> | ||
28 | - <!--key: 'age',--> | ||
29 | - <!--width: 100--> | ||
30 | - <!--},--> | ||
31 | - <!--{--> | ||
32 | - <!--title: '省份',--> | ||
33 | - <!--key: 'province',--> | ||
34 | - <!--width: 100--> | ||
35 | - <!--},--> | ||
36 | - <!--{--> | ||
37 | - <!--title: '市区',--> | ||
38 | - <!--key: 'city',--> | ||
39 | - <!--width: 100--> | ||
40 | - <!--},--> | ||
41 | - <!--{--> | ||
42 | - <!--title: '地址',--> | ||
43 | - <!--key: 'address',--> | ||
44 | - <!--width: 200--> | ||
45 | - <!--},--> | ||
46 | - <!--{--> | ||
47 | - <!--title: '邮编',--> | ||
48 | - <!--key: 'zip',--> | ||
49 | - <!--width: 100--> | ||
50 | - <!--},--> | ||
51 | - <!--{--> | ||
52 | - <!--title: '操作',--> | ||
53 | - <!--key: 'action',--> | ||
54 | - <!--fixed: 'right',--> | ||
55 | - <!--width: 120,--> | ||
56 | - <!--render: (h, params) => {--> | ||
57 | - <!--return h('div', [--> | ||
58 | - <!--h('Button', {--> | ||
59 | - <!--props: {--> | ||
60 | - <!--type: 'text',--> | ||
61 | - <!--size: 'small'--> | ||
62 | - <!--}--> | ||
63 | - <!--}, '查看'),--> | ||
64 | - <!--h('Button', {--> | ||
65 | - <!--props: {--> | ||
66 | - <!--type: 'text',--> | ||
67 | - <!--size: 'small'--> | ||
68 | - <!--}--> | ||
69 | - <!--}, '编辑')--> | ||
70 | - <!--]);--> | ||
71 | - <!--}--> | ||
72 | - <!--}--> | ||
73 | - <!--],--> | ||
74 | - <!--data1: [--> | ||
75 | - <!--{--> | ||
76 | - <!--name: '王小明',--> | ||
77 | - <!--age: 18,--> | ||
78 | - <!--address: '北京市朝阳区芍药居'--> | ||
79 | - <!--},--> | ||
80 | - <!--{--> | ||
81 | - <!--name: '张小刚',--> | ||
82 | - <!--age: 25,--> | ||
83 | - <!--address: '北京市海淀区西二旗'--> | ||
84 | - <!--},--> | ||
85 | - <!--{--> | ||
86 | - <!--name: '李小红',--> | ||
87 | - <!--age: 30,--> | ||
88 | - <!--address: '上海市浦东新区世纪大道'--> | ||
89 | - <!--},--> | ||
90 | - <!--{--> | ||
91 | - <!--name: '周小伟',--> | ||
92 | - <!--age: 26,--> | ||
93 | - <!--address: '深圳市南山区深南大道'--> | ||
94 | - <!--}--> | ||
95 | - <!--]--> | ||
96 | - <!--}--> | ||
97 | - <!--},--> | ||
98 | - <!--methods: {--> | ||
99 | - <!--handleClear () {--> | ||
100 | - <!--this.$refs.table.clearCurrentRow();--> | ||
101 | - <!--},--> | ||
102 | - <!--handleChange (newData, oldData) {--> | ||
103 | -<!--// console.log(newData, oldData)--> | ||
104 | - <!--},--> | ||
105 | - <!--rc (data, index) {--> | ||
106 | - <!--console.log(data, index);--> | ||
107 | - <!--}--> | ||
108 | - <!--}--> | ||
109 | - <!--}--> | ||
110 | -<!--</script>--> | ||
111 | - | ||
112 | -<!--<style scoped>--> | ||
113 | - <!--.layout{--> | ||
114 | - <!--border: 1px solid #d7dde4;--> | ||
115 | - <!--background: #f5f7f9;--> | ||
116 | - <!--position: relative;--> | ||
117 | - <!--border-radius: 4px;--> | ||
118 | - <!--overflow: hidden;--> | ||
119 | - <!--}--> | ||
120 | - <!--.layout-breadcrumb{--> | ||
121 | - <!--padding: 10px 15px 0;--> | ||
122 | - <!--}--> | ||
123 | - <!--.layout-content{--> | ||
124 | - <!--min-height: 200px;--> | ||
125 | - <!--margin: 15px;--> | ||
126 | - <!--overflow: hidden;--> | ||
127 | - <!--background: #fff;--> | ||
128 | - <!--border-radius: 4px;--> | ||
129 | - <!--}--> | ||
130 | - <!--.layout-content-main{--> | ||
131 | - <!--padding: 10px;--> | ||
132 | - <!--}--> | ||
133 | - <!--.layout-copy{--> | ||
134 | - <!--text-align: center;--> | ||
135 | - <!--padding: 10px 0 20px;--> | ||
136 | - <!--color: #9ea7b4;--> | ||
137 | - <!--}--> | ||
138 | - <!--.layout-menu-left{--> | ||
139 | - <!--background: #464c5b;--> | ||
140 | - <!--}--> | ||
141 | - <!--.layout-header{--> | ||
142 | - <!--height: 60px;--> | ||
143 | - <!--background: #fff;--> | ||
144 | - <!--box-shadow: 0 1px 1px rgba(0,0,0,.1);--> | ||
145 | - <!--}--> | ||
146 | - <!--.layout-logo-left{--> | ||
147 | - <!--width: 90%;--> | ||
148 | - <!--height: 30px;--> | ||
149 | - <!--background: #5b6270;--> | ||
150 | - <!--border-radius: 3px;--> | ||
151 | - <!--margin: 15px auto;--> | ||
152 | - <!--}--> | ||
153 | - <!--.layout-ceiling-main a{--> | ||
154 | - <!--color: #9ba7b5;--> | ||
155 | - <!--}--> | ||
156 | - <!--.layout-hide-text .layout-text{--> | ||
157 | - <!--display: none;--> | ||
158 | - <!--}--> | ||
159 | - <!--.ivu-col{--> | ||
160 | - <!--/*transition: width .2s ease-in-out;*/--> | ||
161 | - <!--}--> | ||
162 | -<!--</style>--> | ||
163 | -<!--<template>--> | ||
164 | - <!--<div class="layout" :class="{'layout-hide-text': spanLeft < 5}">--> | ||
165 | - <!--<Row type="flex">--> | ||
166 | - <!--<Col :span="spanLeft" class="layout-menu-left">--> | ||
167 | - <!--<Menu active-name="1" theme="dark" width="auto">--> | ||
168 | - <!--<div class="layout-logo-left"></div>--> | ||
169 | - <!--<MenuItem name="1">--> | ||
170 | - <!--<Icon type="ios-navigate" :size="iconSize"></Icon>--> | ||
171 | - <!--<span class="layout-text">选项 1</span>--> | ||
172 | - <!--</MenuItem>--> | ||
173 | - <!--<MenuItem name="2">--> | ||
174 | - <!--<Icon type="ios-keypad" :size="iconSize"></Icon>--> | ||
175 | - <!--<span class="layout-text">选项 2</span>--> | ||
176 | - <!--</MenuItem>--> | ||
177 | - <!--<MenuItem name="3">--> | ||
178 | - <!--<Icon type="ios-analytics" :size="iconSize"></Icon>--> | ||
179 | - <!--<span class="layout-text">选项 3</span>--> | ||
180 | - <!--</MenuItem>--> | ||
181 | - <!--</Menu>--> | ||
182 | - <!--</Col>--> | ||
183 | - <!--<Col :span="spanRight">--> | ||
184 | - <!--<div class="layout-header">--> | ||
185 | - <!--<Button type="text" @click="toggleClick">--> | ||
186 | - <!--<Icon type="navicon" size="32"></Icon>--> | ||
187 | - <!--</Button>--> | ||
188 | - <!--</div>--> | ||
189 | - <!--<div class="layout-breadcrumb">--> | ||
190 | - <!--<Breadcrumb>--> | ||
191 | - <!--<BreadcrumbItem href="#">首页</BreadcrumbItem>--> | ||
192 | - <!--<BreadcrumbItem href="#">应用中心</BreadcrumbItem>--> | ||
193 | - <!--<BreadcrumbItem>某应用</BreadcrumbItem>--> | ||
194 | - <!--</Breadcrumb>--> | ||
195 | - <!--</div>--> | ||
196 | - <!--<div class="layout-content">--> | ||
197 | - <!--<div class="layout-content-main">--> | ||
198 | - <!--<Table stripe :columns="columns1" :data="data1"></Table>--> | ||
199 | - <!--</div>--> | ||
200 | - <!--<hr style="margin: 10px 0;" />--> | ||
201 | - <!--<div class="layout-content-main">--> | ||
202 | - <!--<Table stripe :columns="columns2" :data="data2" ref="csvTable" @on-row-click="cc" />--> | ||
203 | - <!--<i-button type="primary" size="large" @click="exportCSV">--> | ||
204 | - <!--<icon type="ios-download-outline"></icon> Export to CSV--> | ||
205 | - <!--</i-button>--> | ||
206 | - <!--</div>--> | ||
207 | - <!--</div>--> | ||
208 | - <!--</Col>--> | ||
209 | - <!--</Row>--> | ||
210 | - <!--</div>--> | ||
211 | -<!--</template>--> | ||
212 | -<!--<script>--> | ||
213 | - <!--export default {--> | ||
214 | - <!--data () {--> | ||
215 | - <!--return {--> | ||
216 | - <!--spanLeft: 5,--> | ||
217 | - <!--spanRight: 19,--> | ||
218 | - <!--columns1: [--> | ||
219 | - <!--{--> | ||
220 | - <!--title: '姓名',--> | ||
221 | - <!--key: 'name'--> | ||
222 | - <!--},--> | ||
223 | - <!--{--> | ||
224 | - <!--title: '年龄',--> | ||
225 | - <!--key: 'age'--> | ||
226 | - <!--},--> | ||
227 | - <!--{--> | ||
228 | - <!--title: '地址',--> | ||
229 | - <!--key: 'address'--> | ||
230 | - <!--},--> | ||
231 | - <!--{--> | ||
232 | - <!--title: '姓名',--> | ||
233 | - <!--key: 'name'--> | ||
234 | - <!--},--> | ||
235 | - <!--{--> | ||
236 | - <!--title: '年龄',--> | ||
237 | - <!--key: 'age'--> | ||
238 | - <!--},--> | ||
239 | - <!--{--> | ||
240 | - <!--title: '地址',--> | ||
241 | - <!--key: 'address'--> | ||
242 | - <!--},--> | ||
243 | - <!--{--> | ||
244 | - <!--title: '姓名',--> | ||
245 | - <!--key: 'name'--> | ||
246 | - <!--},--> | ||
247 | - <!--{--> | ||
248 | - <!--title: '年龄',--> | ||
249 | - <!--key: 'age'--> | ||
250 | - <!--},--> | ||
251 | - <!--{--> | ||
252 | - <!--title: '地址',--> | ||
253 | - <!--key: 'address'--> | ||
254 | - <!--}--> | ||
255 | - <!--],--> | ||
256 | - <!--data1: [--> | ||
257 | - <!--{--> | ||
258 | - <!--name: '王小明',--> | ||
259 | - <!--age: 18,--> | ||
260 | - <!--address: '北京市朝阳区芍药居'--> | ||
261 | - <!--},--> | ||
262 | - <!--{--> | ||
263 | - <!--name: '张小刚',--> | ||
264 | - <!--age: 25,--> | ||
265 | - <!--address: '北京市海淀区西二旗'--> | ||
266 | - <!--},--> | ||
267 | - <!--{--> | ||
268 | - <!--name: '李小红',--> | ||
269 | - <!--age: 30,--> | ||
270 | - <!--address: '上海市浦东新区世纪大道'--> | ||
271 | - <!--},--> | ||
272 | - <!--{--> | ||
273 | - <!--name: '周小伟',--> | ||
274 | - <!--age: 26,--> | ||
275 | - <!--address: '深圳市南山区深南大道'--> | ||
276 | - <!--},--> | ||
277 | - <!--{--> | ||
278 | - <!--name: '王小明',--> | ||
279 | - <!--age: 18,--> | ||
280 | - <!--address: '北京市朝阳区芍药居'--> | ||
281 | - <!--},--> | ||
282 | - <!--{--> | ||
283 | - <!--name: '张小刚',--> | ||
284 | - <!--age: 25,--> | ||
285 | - <!--address: '北京市海淀区西二旗'--> | ||
286 | - <!--},--> | ||
287 | - <!--{--> | ||
288 | - <!--name: '李小红',--> | ||
289 | - <!--age: 30,--> | ||
290 | - <!--address: '上海市浦东新区世纪大道'--> | ||
291 | - <!--},--> | ||
292 | - <!--{--> | ||
293 | - <!--name: '周小伟',--> | ||
294 | - <!--age: 26,--> | ||
295 | - <!--address: '深圳市南山区深南大道'--> | ||
296 | - <!--},--> | ||
297 | - <!--{--> | ||
298 | - <!--name: '王小明',--> | ||
299 | - <!--age: 18,--> | ||
300 | - <!--address: '北京市朝阳区芍药居'--> | ||
301 | - <!--},--> | ||
302 | - <!--{--> | ||
303 | - <!--name: '张小刚',--> | ||
304 | - <!--age: 25,--> | ||
305 | - <!--address: '北京市海淀区西二旗'--> | ||
306 | - <!--},--> | ||
307 | - <!--{--> | ||
308 | - <!--name: '李小红',--> | ||
309 | - <!--age: 30,--> | ||
310 | - <!--address: '上海市浦东新区世纪大道'--> | ||
311 | - <!--},--> | ||
312 | - <!--{--> | ||
313 | - <!--name: '周小伟',--> | ||
314 | - <!--age: 26,--> | ||
315 | - <!--address: '深圳市南山区深南大道'--> | ||
316 | - <!--},--> | ||
317 | - <!--{--> | ||
318 | - <!--name: '王小明',--> | ||
319 | - <!--age: 18,--> | ||
320 | - <!--address: '北京市朝阳区芍药居'--> | ||
321 | - <!--},--> | ||
322 | - <!--{--> | ||
323 | - <!--name: '张小刚',--> | ||
324 | - <!--age: 25,--> | ||
325 | - <!--address: '北京市海淀区西二旗'--> | ||
326 | - <!--},--> | ||
327 | - <!--{--> | ||
328 | - <!--name: '李小红',--> | ||
329 | - <!--age: 30,--> | ||
330 | - <!--address: '上海市浦东新区世纪大道'--> | ||
331 | - <!--},--> | ||
332 | - <!--{--> | ||
333 | - <!--name: '周小伟',--> | ||
334 | - <!--age: 26,--> | ||
335 | - <!--address: '深圳市南山区深南大道'--> | ||
336 | - <!--}--> | ||
337 | - <!--],--> | ||
338 | - <!--columns2: [--> | ||
339 | - <!--{--> | ||
340 | - <!--title: '姓名',--> | ||
341 | - <!--key: 'name'--> | ||
342 | - <!--},--> | ||
343 | - <!--{--> | ||
344 | - <!--title: '年龄',--> | ||
345 | - <!--key: 'age'--> | ||
346 | - <!--},--> | ||
347 | - <!--{--> | ||
348 | - <!--title: '地址',--> | ||
349 | - <!--key: 'address',--> | ||
350 | - <!--render: (h) => {--> | ||
351 | - <!--return h('Button', {--> | ||
352 | - <!--nativeOn: {--> | ||
353 | - <!--click: (event) => {--> | ||
354 | - <!--console.log(2)--> | ||
355 | - <!--event.stopPropagation();--> | ||
356 | - <!--}--> | ||
357 | - <!--}--> | ||
358 | - <!--}, 'click')--> | ||
359 | - <!--}--> | ||
360 | - <!--}--> | ||
361 | - <!--],--> | ||
362 | - <!--data2: [--> | ||
363 | - <!--{--> | ||
364 | - <!--name: '王小明',--> | ||
365 | - <!--age: 18,--> | ||
366 | - <!--address: '北京市朝\n阳区芍药居'--> | ||
367 | - <!--},--> | ||
368 | - <!--{--> | ||
369 | - <!--name: '张小刚',--> | ||
370 | - <!--age: 25,--> | ||
371 | - <!--address: '北京市海,淀区西二旗'--> | ||
372 | - <!--},--> | ||
373 | - <!--{--> | ||
374 | - <!--name: '李小红',--> | ||
375 | - <!--age: 30,--> | ||
376 | - <!--address: '上海市浦东\r新区世纪大道'--> | ||
377 | - <!--},--> | ||
378 | - <!--{--> | ||
379 | - <!--name: '周小伟',--> | ||
380 | - <!--age: 26,--> | ||
381 | - <!--address: '深圳市南山区深南大道'--> | ||
382 | - <!--}--> | ||
383 | - <!--]--> | ||
384 | - <!--};--> | ||
385 | - <!--},--> | ||
386 | - <!--computed: {--> | ||
387 | - <!--iconSize () {--> | ||
388 | - <!--return this.spanLeft === 5 ? 14 : 24;--> | ||
389 | - <!--}--> | ||
390 | - <!--},--> | ||
391 | - <!--methods: {--> | ||
392 | - <!--toggleClick () {--> | ||
393 | - <!--if (this.spanLeft === 5) {--> | ||
394 | - <!--this.spanLeft = 2;--> | ||
395 | - <!--this.spanRight = 22;--> | ||
396 | - <!--} else {--> | ||
397 | - <!--this.spanLeft = 5;--> | ||
398 | - <!--this.spanRight = 19;--> | ||
399 | - <!--}--> | ||
400 | - <!--},--> | ||
401 | - <!--exportCSV () {--> | ||
402 | - <!--this.$refs.csvTable.exportCsv({--> | ||
403 | - <!--filename: '原始数据',--> | ||
404 | - <!--separator: ';',--> | ||
405 | - <!--quoted: true--> | ||
406 | - <!--});--> | ||
407 | - <!--},--> | ||
408 | - <!--cc () {--> | ||
409 | - <!--console.log(1)--> | ||
410 | - <!--}--> | ||
411 | - <!--}--> | ||
412 | - <!--};--> | ||
413 | -<!--</script>--> | ||
414 | - | ||
415 | -<!--<template>--> | ||
416 | - <!--<div>--> | ||
417 | - <!--<Table :columns="columns8" :data="data7" size="small" ref="table"></Table>--> | ||
418 | - <!--<br>--> | ||
419 | - <!--<Button type="primary" size="large" @click="exportData(1)"><Icon type="ios-download-outline"></Icon> 导出原始数据</Button>--> | ||
420 | - <!--<Button type="primary" size="large" @click="exportData(2)"><Icon type="ios-download-outline"></Icon> 导出排序和过滤后的数据</Button>--> | ||
421 | - <!--<Button type="primary" size="large" @click="exportData(3)"><Icon type="ios-download-outline"></Icon> 导出自定义数据</Button>--> | ||
422 | - <!--</div>--> | ||
423 | -<!--</template>--> | ||
424 | -<!--<script>--> | ||
425 | - <!--export default {--> | ||
426 | - <!--data () {--> | ||
427 | - <!--return {--> | ||
428 | - <!--columns8: [--> | ||
429 | - <!--{--> | ||
430 | - <!--"title": "名称",--> | ||
431 | - <!--"key": "name",--> | ||
432 | - <!--"fixed": "left",--> | ||
433 | - <!--"width": 200--> | ||
434 | - <!--},--> | ||
435 | - <!--{--> | ||
436 | - <!--"title": "展示",--> | ||
437 | - <!--"key": "show",--> | ||
438 | - <!--"width": 150,--> | ||
439 | - <!--"sortable": true,--> | ||
440 | - <!--filters: [--> | ||
441 | - <!--{--> | ||
442 | - <!--label: '大于4000',--> | ||
443 | - <!--value: 1--> | ||
444 | - <!--},--> | ||
445 | - <!--{--> | ||
446 | - <!--label: '小于4000',--> | ||
447 | - <!--value: 2--> | ||
448 | - <!--}--> | ||
449 | - <!--],--> | ||
450 | - <!--filterMultiple: false,--> | ||
451 | - <!--filterMethod (value, row) {--> | ||
452 | - <!--if (value === 1) {--> | ||
453 | - <!--return row.show > 4000;--> | ||
454 | - <!--} else if (value === 2) {--> | ||
455 | - <!--return row.show < 4000;--> | ||
456 | - <!--}--> | ||
457 | - <!--}--> | ||
458 | - <!--},--> | ||
459 | - <!--{--> | ||
460 | - <!--"title": "唤醒",--> | ||
461 | - <!--"key": "weak",--> | ||
462 | - <!--"width": 150,--> | ||
463 | - <!--"sortable": true--> | ||
464 | - <!--},--> | ||
465 | - <!--{--> | ||
466 | - <!--"title": "登录",--> | ||
467 | - <!--"key": "signin",--> | ||
468 | - <!--"width": 150,--> | ||
469 | - <!--"sortable": true--> | ||
470 | - <!--},--> | ||
471 | - <!--{--> | ||
472 | - <!--"title": "点击",--> | ||
473 | - <!--"key": "click",--> | ||
474 | - <!--"width": 150,--> | ||
475 | - <!--"sortable": true--> | ||
476 | - <!--},--> | ||
477 | - <!--{--> | ||
478 | - <!--"title": "激活",--> | ||
479 | - <!--"key": "active",--> | ||
480 | - <!--"width": 150,--> | ||
481 | - <!--"sortable": true--> | ||
482 | - <!--},--> | ||
483 | - <!--{--> | ||
484 | - <!--"title": "7日留存",--> | ||
485 | - <!--"key": "day7",--> | ||
486 | - <!--"width": 150,--> | ||
487 | - <!--"sortable": true--> | ||
488 | - <!--},--> | ||
489 | - <!--{--> | ||
490 | - <!--"title": "30日留存",--> | ||
491 | - <!--"key": "day30",--> | ||
492 | - <!--"width": 150,--> | ||
493 | - <!--"sortable": true--> | ||
494 | - <!--},--> | ||
495 | - <!--{--> | ||
496 | - <!--"title": "次日留存",--> | ||
497 | - <!--"key": "tomorrow",--> | ||
498 | - <!--"width": 150,--> | ||
499 | - <!--"sortable": true--> | ||
500 | - <!--},--> | ||
501 | - <!--{--> | ||
502 | - <!--"title": "日活跃",--> | ||
503 | - <!--"key": "day",--> | ||
504 | - <!--"width": 150,--> | ||
505 | - <!--"sortable": true--> | ||
506 | - <!--},--> | ||
507 | - <!--{--> | ||
508 | - <!--"title": "周活跃",--> | ||
509 | - <!--"key": "week",--> | ||
510 | - <!--"width": 150,--> | ||
511 | - <!--"sortable": true--> | ||
512 | - <!--},--> | ||
513 | - <!--{--> | ||
514 | - <!--"title": "月活跃",--> | ||
515 | - <!--"key": "month",--> | ||
516 | - <!--"width": 150,--> | ||
517 | - <!--"sortable": true--> | ||
518 | - <!--}--> | ||
519 | - <!--],--> | ||
520 | - <!--data7: [--> | ||
521 | - <!--{--> | ||
522 | - <!--"name": "推广名称1",--> | ||
523 | - <!--"fav": 0,--> | ||
524 | - <!--"show": 7302,--> | ||
525 | - <!--"weak": 5627,--> | ||
526 | - <!--"signin": 1563,--> | ||
527 | - <!--"click": 4254,--> | ||
528 | - <!--"active": 1438,--> | ||
529 | - <!--"day7": 274,--> | ||
530 | - <!--"day30": 285,--> | ||
531 | - <!--"tomorrow": 1727,--> | ||
532 | - <!--"day": 558,--> | ||
533 | - <!--"week": 4440,--> | ||
534 | - <!--"month": 5610--> | ||
535 | - <!--},--> | ||
536 | - <!--{--> | ||
537 | - <!--"name": "推广名称2",--> | ||
538 | - <!--"fav": 0,--> | ||
539 | - <!--"show": 4720,--> | ||
540 | - <!--"weak": 4086,--> | ||
541 | - <!--"signin": 3792,--> | ||
542 | - <!--"click": 8690,--> | ||
543 | - <!--"active": 8470,--> | ||
544 | - <!--"day7": 8172,--> | ||
545 | - <!--"day30": 5197,--> | ||
546 | - <!--"tomorrow": 1684,--> | ||
547 | - <!--"day": 2593,--> | ||
548 | - <!--"week": 2507,--> | ||
549 | - <!--"month": 1537--> | ||
550 | - <!--},--> | ||
551 | - <!--{--> | ||
552 | - <!--"name": "推广名称3",--> | ||
553 | - <!--"fav": 0,--> | ||
554 | - <!--"show": 7181,--> | ||
555 | - <!--"weak": 8007,--> | ||
556 | - <!--"signin": 8477,--> | ||
557 | - <!--"click": 1879,--> | ||
558 | - <!--"active": 16,--> | ||
559 | - <!--"day7": 2249,--> | ||
560 | - <!--"day30": 3450,--> | ||
561 | - <!--"tomorrow": 377,--> | ||
562 | - <!--"day": 1561,--> | ||
563 | - <!--"week": 3219,--> | ||
564 | - <!--"month": 1588--> | ||
565 | - <!--},--> | ||
566 | - <!--{--> | ||
567 | - <!--"name": "推广名称4",--> | ||
568 | - <!--"fav": 0,--> | ||
569 | - <!--"show": 9911,--> | ||
570 | - <!--"weak": 8976,--> | ||
571 | - <!--"signin": 8807,--> | ||
572 | - <!--"click": 8050,--> | ||
573 | - <!--"active": 7668,--> | ||
574 | - <!--"day7": 1547,--> | ||
575 | - <!--"day30": 2357,--> | ||
576 | - <!--"tomorrow": 7278,--> | ||
577 | - <!--"day": 5309,--> | ||
578 | - <!--"week": 1655,--> | ||
579 | - <!--"month": 9043--> | ||
580 | - <!--},--> | ||
581 | - <!--{--> | ||
582 | - <!--"name": "推广名称5",--> | ||
583 | - <!--"fav": 0,--> | ||
584 | - <!--"show": 934,--> | ||
585 | - <!--"weak": 1394,--> | ||
586 | - <!--"signin": 6463,--> | ||
587 | - <!--"click": 5278,--> | ||
588 | - <!--"active": 9256,--> | ||
589 | - <!--"day7": 209,--> | ||
590 | - <!--"day30": 3563,--> | ||
591 | - <!--"tomorrow": 8285,--> | ||
592 | - <!--"day": 1230,--> | ||
593 | - <!--"week": 4840,--> | ||
594 | - <!--"month": 9908--> | ||
595 | - <!--},--> | ||
596 | - <!--{--> | ||
597 | - <!--"name": "推广名称6",--> | ||
598 | - <!--"fav": 0,--> | ||
599 | - <!--"show": 6856,--> | ||
600 | - <!--"weak": 1608,--> | ||
601 | - <!--"signin": 457,--> | ||
602 | - <!--"click": 4949,--> | ||
603 | - <!--"active": 2909,--> | ||
604 | - <!--"day7": 4525,--> | ||
605 | - <!--"day30": 6171,--> | ||
606 | - <!--"tomorrow": 1920,--> | ||
607 | - <!--"day": 1966,--> | ||
608 | - <!--"week": 904,--> | ||
609 | - <!--"month": 6851--> | ||
610 | - <!--},--> | ||
611 | - <!--{--> | ||
612 | - <!--"name": "推广名称7",--> | ||
613 | - <!--"fav": 0,--> | ||
614 | - <!--"show": 5107,--> | ||
615 | - <!--"weak": 6407,--> | ||
616 | - <!--"signin": 4166,--> | ||
617 | - <!--"click": 7970,--> | ||
618 | - <!--"active": 1002,--> | ||
619 | - <!--"day7": 8701,--> | ||
620 | - <!--"day30": 9040,--> | ||
621 | - <!--"tomorrow": 7632,--> | ||
622 | - <!--"day": 4061,--> | ||
623 | - <!--"week": 4359,--> | ||
624 | - <!--"month": 3676--> | ||
625 | - <!--},--> | ||
626 | - <!--{--> | ||
627 | - <!--"name": "推广名称8",--> | ||
628 | - <!--"fav": 0,--> | ||
629 | - <!--"show": 862,--> | ||
630 | - <!--"weak": 6520,--> | ||
631 | - <!--"signin": 6696,--> | ||
632 | - <!--"click": 3209,--> | ||
633 | - <!--"active": 6801,--> | ||
634 | - <!--"day7": 6364,--> | ||
635 | - <!--"day30": 6850,--> | ||
636 | - <!--"tomorrow": 9408,--> | ||
637 | - <!--"day": 2481,--> | ||
638 | - <!--"week": 1479,--> | ||
639 | - <!--"month": 2346--> | ||
640 | - <!--},--> | ||
641 | - <!--{--> | ||
642 | - <!--"name": "推广名称9",--> | ||
643 | - <!--"fav": 0,--> | ||
644 | - <!--"show": 567,--> | ||
645 | - <!--"weak": 5859,--> | ||
646 | - <!--"signin": 128,--> | ||
647 | - <!--"click": 6593,--> | ||
648 | - <!--"active": 1971,--> | ||
649 | - <!--"day7": 7596,--> | ||
650 | - <!--"day30": 3546,--> | ||
651 | - <!--"tomorrow": 6641,--> | ||
652 | - <!--"day": 1611,--> | ||
653 | - <!--"week": 5534,--> | ||
654 | - <!--"month": 3190--> | ||
655 | - <!--},--> | ||
656 | - <!--{--> | ||
657 | - <!--"name": "推广名称10",--> | ||
658 | - <!--"fav": 0,--> | ||
659 | - <!--"show": 3651,--> | ||
660 | - <!--"weak": 1819,--> | ||
661 | - <!--"signin": 4595,--> | ||
662 | - <!--"click": 7499,--> | ||
663 | - <!--"active": 7405,--> | ||
664 | - <!--"day7": 8710,--> | ||
665 | - <!--"day30": 5518,--> | ||
666 | - <!--"tomorrow": 428,--> | ||
667 | - <!--"day": 9768,--> | ||
668 | - <!--"week": 2864,--> | ||
669 | - <!--"month": 5811--> | ||
670 | - <!--}--> | ||
671 | - <!--]--> | ||
672 | - <!--}--> | ||
673 | - <!--},--> | ||
674 | - <!--methods: {--> | ||
675 | - <!--exportData (type) {--> | ||
676 | - <!--if (type === 1) {--> | ||
677 | - <!--this.$refs.table.exportCsv({--> | ||
678 | - <!--filename: '原始数据',--> | ||
679 | - <!--separator: ';',--> | ||
680 | - <!--quoted: true,--> | ||
681 | - <!--callback (data) {--> | ||
682 | - <!--console.log(data);--> | ||
683 | - <!--}--> | ||
684 | - <!--});--> | ||
685 | - <!--} else if (type === 2) {--> | ||
686 | - <!--this.$refs.table.exportCsv({--> | ||
687 | - <!--filename: '排序和过滤后的数据',--> | ||
688 | - <!--original: false--> | ||
689 | - <!--});--> | ||
690 | - <!--} else if (type === 3) {--> | ||
691 | - <!--this.$refs.table.exportCsv({--> | ||
692 | - <!--filename: '自定义数据',--> | ||
693 | - <!--columns: this.columns8.filter((col, index) => index < 4),--> | ||
694 | - <!--data: this.data7.filter((data, index) => index < 4)--> | ||
695 | - <!--});--> | ||
696 | - <!--}--> | ||
697 | - <!--}--> | ||
698 | - <!--}--> | ||
699 | - <!--}--> | ||
700 | -<!--</script>--> | ||
701 | - | ||
702 | -<!--<template>--> | ||
703 | - <!--<Table :columns="columns10" :data="data9"></Table>--> | ||
704 | -<!--</template>--> | ||
705 | -<!--<script>--> | ||
706 | - <!--import expandRow from '../components/tableExpand.vue';--> | ||
707 | - <!--export default {--> | ||
708 | - <!--components: { expandRow },--> | ||
709 | - <!--data () {--> | ||
710 | - <!--return {--> | ||
711 | - <!--columns10: [--> | ||
712 | - <!--{--> | ||
713 | - <!--type: 'expand',--> | ||
714 | - <!--width: 50,--> | ||
715 | - <!--render: (h, params) => {--> | ||
716 | - <!--return h(expandRow, {--> | ||
717 | - <!--props: {--> | ||
718 | - <!--row: params.row--> | ||
719 | - <!--}--> | ||
720 | - <!--})--> | ||
721 | - <!--}--> | ||
722 | - <!--},--> | ||
723 | - <!--{--> | ||
724 | - <!--title: 'Name',--> | ||
725 | - <!--key: 'name'--> | ||
726 | - <!--},--> | ||
727 | - <!--{--> | ||
728 | - <!--title: 'Age',--> | ||
729 | - <!--key: 'age',--> | ||
730 | - <!--fixed: 'right'--> | ||
731 | - <!--},--> | ||
732 | - <!--{--> | ||
733 | - <!--title: 'Address',--> | ||
734 | - <!--key: 'address',--> | ||
735 | - <!--fixed: 'right'--> | ||
736 | - <!--}--> | ||
737 | - <!--],--> | ||
738 | - <!--data9: [--> | ||
739 | - <!--{--> | ||
740 | - <!--name: 'John Brown',--> | ||
741 | - <!--age: 18,--> | ||
742 | - <!--address: 'New York No. 1 Lake Park',--> | ||
743 | - <!--job: 'Data engineer',--> | ||
744 | - <!--interest: 'badminton',--> | ||
745 | - <!--birthday: '1991-05-14',--> | ||
746 | - <!--book: 'Steve Jobs',--> | ||
747 | - <!--movie: 'The Prestige',--> | ||
748 | - <!--music: 'I Cry'--> | ||
749 | - <!--},--> | ||
750 | - <!--{--> | ||
751 | - <!--name: 'Jim Green',--> | ||
752 | - <!--age: 25,--> | ||
753 | - <!--address: 'London No. 1 Lake Park',--> | ||
754 | - <!--job: 'Data Scientist',--> | ||
755 | - <!--interest: 'volleyball',--> | ||
756 | - <!--birthday: '1989-03-18',--> | ||
757 | - <!--book: 'My Struggle',--> | ||
758 | - <!--movie: 'Roman Holiday',--> | ||
759 | - <!--music: 'My Heart Will Go On'--> | ||
760 | - <!--},--> | ||
761 | - <!--{--> | ||
762 | - <!--name: 'Joe Black',--> | ||
763 | - <!--age: 30,--> | ||
764 | - <!--address: 'Sydney No. 1 Lake Park',--> | ||
765 | - <!--job: 'Data Product Manager',--> | ||
766 | - <!--interest: 'tennis',--> | ||
767 | - <!--birthday: '1992-01-31',--> | ||
768 | - <!--book: 'Win',--> | ||
769 | - <!--movie: 'Jobs',--> | ||
770 | - <!--music: 'Don’t Cry'--> | ||
771 | - <!--},--> | ||
772 | - <!--{--> | ||
773 | - <!--name: 'Jon Snow',--> | ||
774 | - <!--age: 26,--> | ||
775 | - <!--address: 'Ottawa No. 2 Lake Park',--> | ||
776 | - <!--job: 'Data Analyst',--> | ||
777 | - <!--interest: 'snooker',--> | ||
778 | - <!--birthday: '1988-7-25',--> | ||
779 | - <!--book: 'A Dream in Red Mansions',--> | ||
780 | - <!--movie: 'A Chinese Ghost Story',--> | ||
781 | - <!--music: 'actor'--> | ||
782 | - <!--}--> | ||
783 | - <!--]--> | ||
784 | - <!--}--> | ||
785 | - <!--}--> | ||
786 | - <!--}--> | ||
787 | -<!--</script>--> | ||
788 | - | ||
789 | - | ||
790 | <template> | 1 | <template> |
791 | - <div> | ||
792 | - <div style="width: 550px;"> | ||
793 | - <Table height="200" border :columns="columns2" :data="data4"></Table> | ||
794 | - </div> | ||
795 | - <br><br><br> | ||
796 | - <Table width="550" height="200" border :columns="columns2" :data="data4"></Table> | ||
797 | - </div> | 2 | + <Table border :columns="columns6" :data="data5"></Table> |
798 | </template> | 3 | </template> |
799 | <script> | 4 | <script> |
800 | export default { | 5 | export default { |
801 | data () { | 6 | data () { |
802 | return { | 7 | return { |
803 | - columns2: [ | 8 | + columns6: [ |
9 | + { | ||
10 | + title: 'Date', | ||
11 | + key: 'date' | ||
12 | + }, | ||
804 | { | 13 | { |
805 | title: 'Name', | 14 | title: 'Name', |
806 | - key: 'name', | ||
807 | - width: 100, | ||
808 | -// fixed: 'left' | 15 | + key: 'name' |
809 | }, | 16 | }, |
810 | { | 17 | { |
811 | title: 'Age', | 18 | title: 'Age', |
812 | key: 'age', | 19 | key: 'age', |
813 | - width: 100 | ||
814 | - }, | ||
815 | - { | ||
816 | - title: 'Province', | ||
817 | - key: 'province', | ||
818 | - width: 100 | ||
819 | - }, | ||
820 | - { | ||
821 | - title: 'City', | ||
822 | - key: 'city', | ||
823 | - width: 100 | 20 | + filters: [ |
21 | + { | ||
22 | + label: 'Greater than 25', | ||
23 | + value: 1 | ||
24 | + }, | ||
25 | + { | ||
26 | + label: 'Less than 25', | ||
27 | + value: 2 | ||
28 | + } | ||
29 | + ], | ||
30 | + filterMultiple: false, | ||
31 | + filterMethod (value, row) { | ||
32 | + if (value === 1) { | ||
33 | + return row.age > 25; | ||
34 | + } else if (value === 2) { | ||
35 | + return row.age < 25; | ||
36 | + } | ||
37 | + } | ||
824 | }, | 38 | }, |
825 | { | 39 | { |
826 | title: 'Address', | 40 | title: 'Address', |
827 | key: 'address', | 41 | key: 'address', |
828 | - width: 200 | ||
829 | - }, | ||
830 | - { | ||
831 | - title: 'Postcode', | ||
832 | - key: 'zip', | ||
833 | - width: 100 | ||
834 | - }, | ||
835 | - { | ||
836 | - title: 'Action', | ||
837 | - key: 'action', | ||
838 | - fixed: 'right', | ||
839 | - width: 120, | ||
840 | - render: (h, params) => { | ||
841 | - return h('div', [ | ||
842 | - h('Button', { | ||
843 | - props: { | ||
844 | - type: 'text', | ||
845 | - size: 'small' | ||
846 | - } | ||
847 | - }, 'View'), | ||
848 | - h('Button', { | ||
849 | - props: { | ||
850 | - type: 'text', | ||
851 | - size: 'small' | ||
852 | - } | ||
853 | - }, 'Edit') | ||
854 | - ]); | 42 | + filters: [ |
43 | + { | ||
44 | + label: 'New York', | ||
45 | + value: 'New York' | ||
46 | + }, | ||
47 | + { | ||
48 | + label: 'London', | ||
49 | + value: 'London' | ||
50 | + }, | ||
51 | + { | ||
52 | + label: 'Sydney', | ||
53 | + value: 'Sydney' | ||
54 | + } | ||
55 | + ], | ||
56 | + filterMethod (value, row) { | ||
57 | + return row.address.indexOf(value) > -1; | ||
855 | } | 58 | } |
856 | } | 59 | } |
857 | ], | 60 | ], |
858 | - data4: [ | 61 | + data5: [ |
859 | { | 62 | { |
860 | name: 'John Brown', | 63 | name: 'John Brown', |
861 | age: 18, | 64 | age: 18, |
862 | address: 'New York No. 1 Lake Park', | 65 | address: 'New York No. 1 Lake Park', |
863 | - province: 'America', | ||
864 | - city: 'New York', | ||
865 | - zip: 100000 | 66 | + date: '2016-10-03' |
866 | }, | 67 | }, |
867 | { | 68 | { |
868 | name: 'Jim Green', | 69 | name: 'Jim Green', |
869 | age: 24, | 70 | age: 24, |
870 | - address: 'Washington, D.C. No. 1 Lake Park', | ||
871 | - province: 'America', | ||
872 | - city: 'Washington, D.C.', | ||
873 | - zip: 100000 | 71 | + address: 'London No. 1 Lake Park', |
72 | + date: '2016-10-01' | ||
874 | }, | 73 | }, |
875 | { | 74 | { |
876 | name: 'Joe Black', | 75 | name: 'Joe Black', |
877 | age: 30, | 76 | age: 30, |
878 | address: 'Sydney No. 1 Lake Park', | 77 | address: 'Sydney No. 1 Lake Park', |
879 | - province: 'Australian', | ||
880 | - city: 'Sydney', | ||
881 | - zip: 100000 | 78 | + date: '2016-10-02' |
882 | }, | 79 | }, |
883 | { | 80 | { |
884 | name: 'Jon Snow', | 81 | name: 'Jon Snow', |
885 | age: 26, | 82 | age: 26, |
886 | address: 'Ottawa No. 2 Lake Park', | 83 | address: 'Ottawa No. 2 Lake Park', |
887 | - province: 'Canada', | ||
888 | - city: 'Ottawa', | ||
889 | - zip: 100000 | ||
890 | - }, | ||
891 | - { | ||
892 | - name: 'John Brown', | ||
893 | - age: 18, | ||
894 | - address: 'New York No. 1 Lake Park', | ||
895 | - province: 'America', | ||
896 | - city: 'New York', | ||
897 | - zip: 100000 | ||
898 | - }, | ||
899 | - { | ||
900 | - name: 'Jim Green', | ||
901 | - age: 24, | ||
902 | - address: 'Washington, D.C. No. 1 Lake Park', | ||
903 | - province: 'America', | ||
904 | - city: 'Washington, D.C.', | ||
905 | - zip: 100000 | ||
906 | - }, | ||
907 | - { | ||
908 | - name: 'Joe Black', | ||
909 | - age: 30, | ||
910 | - address: 'Sydney No. 1 Lake Park', | ||
911 | - province: 'Australian', | ||
912 | - city: 'Sydney', | ||
913 | - zip: 100000 | ||
914 | - }, | ||
915 | - { | ||
916 | - name: 'Jon Snow', | ||
917 | - age: 26, | ||
918 | - address: 'Ottawa No. 2 Lake Park', | ||
919 | - province: 'Canada', | ||
920 | - city: 'Ottawa', | ||
921 | - zip: 100000 | 84 | + date: '2016-10-04' |
922 | } | 85 | } |
923 | - ] | 86 | + ], |
924 | } | 87 | } |
925 | } | 88 | } |
926 | } | 89 | } |
927 | </script> | 90 | </script> |
928 | - |
src/components/table/table-head.vue
@@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
30 | <div slot="content" :class="[prefixCls + '-filter-list']" v-if="column._filterMultiple"> | 30 | <div slot="content" :class="[prefixCls + '-filter-list']" v-if="column._filterMultiple"> |
31 | <div :class="[prefixCls + '-filter-list-item']"> | 31 | <div :class="[prefixCls + '-filter-list-item']"> |
32 | <checkbox-group v-model="column._filterChecked"> | 32 | <checkbox-group v-model="column._filterChecked"> |
33 | - <checkbox v-for="item in column.filters" :key="column._columnKey" :label="item.value">{{ item.label }}</checkbox> | 33 | + <checkbox v-for="(item, index) in column.filters" :key="index" :label="item.value">{{ item.label }}</checkbox> |
34 | </checkbox-group> | 34 | </checkbox-group> |
35 | </div> | 35 | </div> |
36 | <div :class="[prefixCls + '-filter-footer']"> | 36 | <div :class="[prefixCls + '-filter-footer']"> |