UNPKG

vue-easy-data-grid

Version:
215 lines (213 loc) 4.44 kB
# vue.dataGrid > dataGrid for Vue.js ## 初始化插件 ```javascript import Vue from 'vue' import VueDataGrid from 'VueDataGrid' Vue.use(VueDataGrid) ``` ## 使用 #### 1。基本表格 ##### HTML Template ```html <vue-data-grid :list-data="listData" :columns="columns" :zebra="true" :is-key-value="true"> </vue-data-grid> ``` ##### javascript ```javascript export default { name: 'App', data () { return { listData:[{ id:1,name:'张三',age:'18'},{id:2,name:'李四',age:'18' }], columns:{ id:'学号',name:'姓名',age:'年龄' }, } } } ``` #### 2、带操作 ##### HTML Template ```html <vue-data-grid :list-data="listData" :columns="columns" :zebra="true" :is-key-value="true" :has-operation="true"> <template slot-scope="props"> <a href="javascript:void(0);" @click="deleteData(props)">删除</a> </template> </vue-data-grid> ``` ##### javascript ```javascript export default { name: 'App', data () { return { listData:[{ id:1,name:'张三',age:'18'},{id:2,name:'李四',age:'18' }], columns:{ id:'学号',name:'姓名',age:'年龄' }, } }, methods:{ deleteData(data){ console.log(data); } } } ``` #### 3、自定义列 ##### HTML Template ```html <vue-data-grid :list-data="listData" :columns="columns" :zebra="true" :is-key-value="true"> </vue-data-grid> ``` ##### javascript ```javascript export default { name: 'App', data () { return { listData:[{ id:1,name:'张三',age:'18'},{id:2,name:'李四',age:'18' }], columns:{ id:'学号', name:'姓名', age:{ name:'年龄', //自定义时,格式化回掉函数 formatter(data){ return '<a href="javascript:void(0);">' + data['age']+'岁</a>'; }, //自定义时,点击回掉函数 click(data){ alert(data['age']); } } }, } }, methods:{ } } ``` #### 4、多选 ##### HTML Template ```html <vue-data-grid :list-data="listData" :columns="columns" :zebra="true" :is-key-value="true" :selection="true" @on-selection-change="onSelectionChange"> </vue-data-grid> ``` ##### javascript ```javascript export default { name: 'App', data () { return { listData:[{ id:1,name:'张三',age:'18'},{id:2,name:'李四',age:'18' }], columns:{ id:'学号',name:'姓名',age:'年龄' }, } }, methods:{ onSelectionChange(value){ //输出为数组,数组内对应的index选中为true,不选中为false或者没有值 console.log(value); }, } } ``` #### 5、显示加载中 ##### HTML Template ```html <vue-data-grid :list-data="listData" :columns="columns" :zebra="true" :is-key-value="true" :is-loading="isLoading"> </vue-data-grid> <a href="javascript:void(0);" @click="showloading">加载数据</a> ``` ##### javascript ```javascript export default { name: 'App', data () { return { listData:[{ id:1,name:'张三',age:'18'},{id:2,name:'李四',age:'18' }], columns:{ id:'学号',name:'姓名',age:'年龄' }, isLoading:true } }, mounted(){ let that = this; setTimeout(()=>{ that.isLoading = false; },5000); }, methods:{ showloading(){ this.isLoading = true; let that = this; setTimeout(()=>{ that.isLoading = false; },5000); } }, } ``` #### 6、排序 ##### HTML Template ```html <vue-data-grid :list-data="listData" :columns="columns" :zebra="true" :is-key-value="true"> </vue-data-grid> ``` ##### javascript ```javascript export default { name: 'App', data () { return { listData:[{ id:1,name:'张三',age:'18'},{id:2,name:'李四',age:'18' }], columns:{ id:'学号', name:'姓名', age:{ name:'年龄', sort:{ /* 非必需,数组初始化时的排序, 参数:up(正序)down(倒序) */ type:'up', /* 非必需,自定义排序规则,ajax调用后端, 参数:type(同上面的参数type)key(当前的字段的key,这个是'age') 注意:当custom存在时,上面的type不起作用 */ custom(type,key){ console.log(type,key); } } } }, } } } ```