五:Vue之ElementUI 表格Table与分页Pagination组件化

(注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的)

 

  在平时的web项目开发过程中,列表分页查询展示应用的很频繁,为了便于阅读并减少代码的冗余,所以对ElementUI的表格和分页组件进行了二次封装。

 

首先在工程下的components目录下创建common文件夹并新建commonTable.vue文件,添加如下代码:



 

然后在components目录下新建index.js文件,并添加一下代码:

import commonTable from './common/commonTable'

export default {
  install(Vue) {
    Vue.component('commonTable', commonTable)
  }
}

 

上述代码是将自定义的组件在Vue中进行注册,component方法中的第一个参数很关键,就是稍后我们在其他组件中调用时的组件名称。注:后续自定义的所有其他组件也都只需要在该文件注册即可。

 

最后在main.js中使用Vue.use()方法对自定义组件进行安装,具体实现如下:

import components from '@/components/index.js';
Vue.use(components);

 

在完成上述所有步骤之后,就可以在任何其他页面中使用。该组件中封装了列表常用的一些功能,如多选、翻页、表格最大高度、单列格式化、自定义显隐列等,其他的像单列排序、默认显示序号列可以根据实际需要自行添加封装。

 

接下来说一下如何使用该组件,先看下面的组件引用:

五:Vue之ElementUI 表格Table与分页Pagination组件化_第1张图片

其中columns(列属性信息)、tableData(表格数据)以及page(分页参数)是必须要传递给子组件的数据,handleSizeChange和handleCurrentChange是改变单页数据大小及翻页事件的处理函数,然后通过插槽slot的方式实现了修改数据操作。

 

完整的代码实现如下:

 

 

页面展示效果如下图所示:

 五:Vue之ElementUI 表格Table与分页Pagination组件化_第2张图片

因为在姓名列对name字段进行了格式化处理,在name的value值前面统一增加了hello;但在现实的项目应用中,表格数据的获取及分页处理都要通过发送请求调后台接口实现。

 

以上就是自定义封装的列表组件及使用方式。同时呢,本篇也介绍了vue全局组件的注册方法。

 

原创出自:https://www.cnblogs.com/fengyuexuan/p/10951277.html

 

转载于:https://www.cnblogs.com/liaochangqiang/p/11543717.html

你可能感兴趣的:(五:Vue之ElementUI 表格Table与分页Pagination组件化)