2018-03-23 10:21:49 +08:00
|
|
|
<template>
|
|
|
|
|
<Container type="card-full">
|
2018-03-23 10:34:52 +08:00
|
|
|
<template slot="header">
|
2018-03-23 11:13:12 +08:00
|
|
|
<el-button type="primary" @click="getData"><Icon name="paper-plane"></Icon> 发送请求</el-button>
|
2018-03-23 10:34:52 +08:00
|
|
|
</template>
|
2018-03-23 11:00:48 +08:00
|
|
|
<el-table v-bind="table">
|
2018-03-23 11:13:12 +08:00
|
|
|
<el-table-column prop="id" label="id" width="50" align="center"></el-table-column>
|
|
|
|
|
<el-table-column prop="name" label="姓名" width="100">
|
2018-03-23 11:00:48 +08:00
|
|
|
<template slot-scope="scope">
|
2018-03-23 11:13:12 +08:00
|
|
|
<el-input v-bind="inputSetting" placeholder="姓名"></el-input>
|
2018-03-23 11:00:48 +08:00
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
2018-03-23 11:13:12 +08:00
|
|
|
<el-table-column prop="address1" label="出生地" align="center">
|
2018-03-23 11:00:48 +08:00
|
|
|
<template slot-scope="scope">
|
2018-03-23 11:13:12 +08:00
|
|
|
<el-input v-bind="inputSetting" placeholder="出生地"></el-input>
|
2018-03-23 11:00:48 +08:00
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
2018-03-23 11:13:12 +08:00
|
|
|
<el-table-column prop="address2" label="现居地" align="center">
|
2018-03-23 11:00:48 +08:00
|
|
|
<template slot-scope="scope">
|
2018-03-23 11:13:12 +08:00
|
|
|
<el-input v-bind="inputSetting" placeholder="现居地">
|
2018-03-23 11:00:48 +08:00
|
|
|
</el-input>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
2018-03-23 10:21:49 +08:00
|
|
|
</Container>
|
|
|
|
|
</template>
|
2018-03-23 10:34:52 +08:00
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import Mock from 'mockjs'
|
|
|
|
|
export default {
|
|
|
|
|
data () {
|
|
|
|
|
return {
|
2018-03-24 22:02:23 +08:00
|
|
|
// 绑定到表格的数据
|
2018-03-23 10:34:52 +08:00
|
|
|
table: {
|
|
|
|
|
data: [],
|
|
|
|
|
size: 'mini',
|
|
|
|
|
stripe: true,
|
|
|
|
|
border: true
|
2018-03-23 11:00:48 +08:00
|
|
|
},
|
2018-03-24 22:02:23 +08:00
|
|
|
// 表格中输入框的通用设置
|
2018-03-23 11:00:48 +08:00
|
|
|
inputSetting: {
|
2018-03-23 11:13:12 +08:00
|
|
|
size: 'small',
|
|
|
|
|
style: {
|
|
|
|
|
maxWidth: '200px'
|
|
|
|
|
}
|
2018-03-23 10:34:52 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2018-03-23 11:13:12 +08:00
|
|
|
mounted () {
|
|
|
|
|
// 自动请求数据
|
|
|
|
|
this.getData()
|
|
|
|
|
},
|
2018-03-23 10:34:52 +08:00
|
|
|
methods: {
|
2018-03-23 11:17:13 +08:00
|
|
|
// 请求数据
|
|
|
|
|
async getData () {
|
2018-03-23 14:26:17 +08:00
|
|
|
this.table.data = this.dataFilter(await this.dataMaker())
|
2018-03-23 11:17:13 +08:00
|
|
|
},
|
2018-03-23 14:26:17 +08:00
|
|
|
// 过滤数据部分 模拟过滤掉 star 字段
|
|
|
|
|
dataFilter (val) {
|
|
|
|
|
const rowFilter = ({
|
|
|
|
|
id = '',
|
|
|
|
|
name = '',
|
|
|
|
|
address1 = '',
|
|
|
|
|
address2 = ''
|
|
|
|
|
}) => ({id, name, address1, address2})
|
|
|
|
|
return val.map(e => rowFilter(val))
|
|
|
|
|
},
|
|
|
|
|
// 模拟返回数据。没有必要写在全局 mock 设置中,就在这里这样写了,这样删文件的时候也好处理
|
2018-03-23 11:17:13 +08:00
|
|
|
dataMaker () {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
resolve(Mock.mock({
|
|
|
|
|
'list|4-10': [{
|
|
|
|
|
'id|+1': 1,
|
|
|
|
|
'name': '@CNAME',
|
|
|
|
|
'address1': '@CITY',
|
2018-03-23 14:26:17 +08:00
|
|
|
'address2': '@CITY',
|
|
|
|
|
'star|1-5': '★'
|
2018-03-23 11:17:13 +08:00
|
|
|
}]
|
|
|
|
|
}).list)
|
|
|
|
|
})
|
2018-03-23 10:34:52 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|