| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <template>
- <div class="table">
- <div class="crumbs">
- <el-breadcrumb separator="/">
- <el-breadcrumb-item><i class="el-icon-tickets"></i> 表格</el-breadcrumb-item>
- <el-breadcrumb-item>VueDatasource</el-breadcrumb-item>
- </el-breadcrumb>
- </div>
- <div class="container">
- <div class="plugins-tips">
- vue-datasource:一个用于动态创建表格的vue.js服务端组件。
- 访问地址:<a href="https://github.com/coderdiaz/vue-datasource" target="_blank">vue-datasource</a>
- </div>
- <datasource language="en" :table-data="getData" :columns="columns" :pagination="information.pagination"
- :actions="actions"
- v-on:change="changePage"
- v-on:searching="onSearch"
- ></datasource>
- </div>
- </div>
- </template>
- <script>
- import axios from 'axios';
- import Datasource from 'vue-datasource';
- export default {
- data(){
- return {
- url: './static/datasource.json',
- information: {
- pagination:{},
- data:[]
- },
- columns: [
- {
- name: 'Id',
- key: 'id',
- },
- {
- name: 'Name',
- key: 'name',
- },
- {
- name: 'email',
- key: 'email',
- },
- {
- name: 'ip',
- key: 'ip',
- }
- ],
- actions: [
- {
- text: 'Click',
- class: 'btn-primary',
- event: (e, row)=>{
- row && this.$message('选中的行数: ' + row.row.id);
- }
- }
- ],
- query:''
- }
- },
- components: {
- Datasource
- },
- methods: {
- changePage(values) {
- this.information.pagination.per_page = values.perpage;
- this.information.data = this.information.data;
- },
- onSearch(searchQuery) {
- this.query = searchQuery;
- }
- },
- computed:{
- getData(){
- return this.information.data.filter((d) =>{
- if(d.name.indexOf(this.query) > -1){
- return d;
- }
- })
- }
- },
- beforeMount(){
- // 开发环境使用 easy-mock 数据,正式环境使用 json 文件
- if(process.env.NODE_ENV === 'development'){
- this.url = '/ms/table/source';
- };
- axios.get(this.url).then( (res) => {
- this.information = res.data;
- })
- }
- }
- </script>
- <style src="../../../static/css/datasource.css"></style>
|