Files
vxe-table/examples/views/table/grid/Proxy.vue
xuliangzhan 13be09c441 update
2019-07-15 22:51:20 +08:00

83 lines
2.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<p>数据代理通过配置 <grid-api-link prop="proxy-config"/> 参数默认直接读取结果响应结果应该为数组可以通过 <grid-api-link prop="props"/> 修改默认值</p>
<p> <grid-api-link prop="pager-config"/> 代理数据转换只需要配置好数据源即可非常简单就可以渲染一个表格从重复写冗余的代码中解放出来</p>
<vxe-grid
border
resizable
height="530"
:proxy-config="tableProxy"
:columns="tableColumn"></vxe-grid>
<p class="demo-code">{{ $t('app.body.button.showCode') }}</p>
<pre>
<code class="xml">{{ demoCodes[0] }}</code>
<code class="javascript">{{ demoCodes[1] }}</code>
</pre>
</div>
</template>
<script>
import XEAjax from 'xe-ajax'
import hljs from 'highlight.js'
export default {
data () {
return {
tableProxy: {
ajax: {
query: () => XEAjax.getJSON('/api/user/list')
}
},
tableColumn: [
{ type: 'selection', width: 50 },
{ type: 'index', width: 60 },
{ field: 'name', title: 'Name' },
{ field: 'nickname', title: 'Nickname' },
{ field: 'role', title: 'Role' },
{ field: 'describe', title: 'Describe', showOverflow: true }
],
demoCodes: [
`
<vxe-grid
border
resizable
height="530"
:proxy-config="tableProxy"
:columns="tableColumn"></vxe-grid>
`,
`
export default {
data () {
return {
tableProxy: {
ajax: {
// 任何支持 Promise API 的库都可以对接fetch、jquery、axios、xe-ajax
query: () => XEAjax.getJSON('/api/user/list')
}
},
tableColumn: [
{ type: 'selection', width: 50 },
{ type: 'index', width: 60 },
{ field: 'name', title: 'Name' },
{ field: 'nickname', title: 'Nickname' },
{ field: 'role', title: 'Role' },
{ field: 'describe', title: 'Describe', showOverflow: true }
]
}
}
}
`
]
}
},
mounted () {
Array.from(this.$el.querySelectorAll('pre code')).forEach((block) => {
hljs.highlightBlock(block)
})
}
}
</script>