iview/test/routers/table.vue

168 lines
5.3 KiB
Vue
Raw Normal View History

2016-11-24 17:32:43 +08:00
<style>
body{
height: auto;
}
</style>
<template>
<div>
2016-11-24 15:27:46 +08:00
<!--<i-table size="large" border stripe :columns="columns" :data="data"></i-table>-->
<br>
2016-11-24 17:32:43 +08:00
<i-table
2016-11-28 14:23:49 +08:00
width="550"
2016-11-27 20:43:54 +08:00
stripe
2016-11-27 22:56:05 +08:00
border
2016-11-27 20:43:54 +08:00
highlight-row
:show-header="true"
2016-11-24 17:32:43 +08:00
:columns="columns"
:data="data"
:row-class-name="rowClsName"
@on-current-change="current"
@on-select="select"
@on-selection-change="schange"
@on-select-all="sall">
<!--<div slot="header">表格标题</div>-->
<!--<div slot="footer">表格标题</div>-->
</i-table>
2016-11-24 15:27:46 +08:00
<br>
<!--<i-table size="small" border stripe :columns="columns" :data="data"></i-table>-->
</div>
</template>
<script>
export default {
props: {
},
data () {
return {
columns: [
2016-11-24 15:27:46 +08:00
{
type: 'selection',
2016-11-28 14:23:49 +08:00
width: 150
2016-11-24 15:27:46 +08:00
},
2016-11-25 22:51:50 +08:00
{
type: 'index',
width: 50
},
{
title: '姓名',
key: 'name',
2016-11-24 15:27:46 +08:00
align: 'left',
2016-11-25 08:50:06 +08:00
fixed: 'left',
width: 100
},
{
title: '年龄',
key: 'age',
2016-11-24 15:27:46 +08:00
align: 'right',
2016-11-25 22:51:50 +08:00
// fixed: 'left',
2016-11-27 22:56:05 +08:00
sortable: true,
2016-11-25 08:50:06 +08:00
width: 100
// render (row) {
// return `<i-button>${row.age}</i-button>`
// }
},
{
title: '地址',
key: 'address',
2016-11-24 15:27:46 +08:00
align: 'center',
2016-11-27 20:43:54 +08:00
// fixed: 'right',
2016-11-25 15:47:28 +08:00
width: 100,
// render (row, column, index) {
// if (row.edit) {
// return `<i-input :value.sync="data[${index}].name"></i-input>`;
// } else {
// return `<Tooltip content="${row.address}"><i-button @click="show(${index})">${row.name}</i-button></Tooltip>`;
// }
// }
},
{
title: '操作',
key: 'action',
2016-11-25 08:50:06 +08:00
fixed: 'right',
2016-11-27 15:44:32 +08:00
width: 120,
render (row, column, index) {
2016-11-27 22:56:05 +08:00
return `<i-button @click="edit(${index})">${row.name}${index}</i-button>`
2016-11-25 15:47:28 +08:00
// return `<a>${row.name}</a>`
}
}
],
data: [
{
name: '梁灏',
age: 25,
address: '北京市朝阳区',
edit: false
},
{
name: '段模',
2016-11-28 14:23:49 +08:00
age: 21,
address: '北京市海淀区',
edit: false
},
{
name: '刘天娇',
age: 27,
address: '北京市东城区',
2016-11-24 15:27:46 +08:00
edit: false
},
{
name: '胡国伟',
2016-11-28 14:23:49 +08:00
age: 22,
2016-11-24 15:27:46 +08:00
address: '北京市西城区',
edit: false
}
2016-11-24 17:32:43 +08:00
],
height: 200
}
},
computed: {
},
methods: {
show (name) {
this.$Message.info(name);
},
edit (index) {
2016-11-24 15:27:46 +08:00
// this.data[index].edit = true;
this.$Message.info(this.data[index].name);
},
current (newData, oldData) {
2016-11-28 15:43:19 +08:00
console.log(newData);
console.log(oldData);
2016-11-24 15:27:46 +08:00
},
select (a,b){
2016-11-28 15:43:19 +08:00
// console.log(a);
2016-11-28 14:23:49 +08:00
// console.log(b);
2016-11-24 15:27:46 +08:00
},
schange (a) {
2016-11-28 14:23:49 +08:00
// console.log(a)
2016-11-24 15:27:46 +08:00
},
sall (a) {
2016-11-28 15:43:19 +08:00
// console.log(a)
2016-11-24 17:32:43 +08:00
},
rowClsName (row, index) {
if (index == 1) {
return 'row-success';
} else {
return '';
}
}
},
ready () {
setTimeout(() => {
2016-11-27 15:44:32 +08:00
// this.columns[3].width = 300;
// this.columns[2].width = 150;
2016-11-26 08:57:09 +08:00
// return;
2016-11-24 17:32:43 +08:00
// this.height = 150;
2016-11-25 15:47:28 +08:00
// this.data.push({
// name: '刘天娇2',
// age: 272,
// address: '北京市东城区2',
// edit: false
// });
2016-11-28 14:23:49 +08:00
// this.data.splice(0, 1)
2016-11-27 22:56:05 +08:00
// this.columns.splice(2,1)
2016-11-27 15:44:32 +08:00
}, 2000);
}
}
</script>