今天终于解决了前端使用vue开发中遇到的路由,状态管理以及多模块跨域的问题。根据需求,项目中将用到很多的表格,基础表格(如基础数据展示等)以及树形表格(如导航数据展示等)。由于刚开始使用vue对其不是特别的熟悉,同时也是为了提高开发进度,所以选择了使用现有的插件,众多比对后选择了vxe-table插件。
选择vxe-table的优势:
可以自定义选择引入的模块,减少项目体积;
多主题,多图标;
表格种类繁多;
扩展插件库;
进入项目根目录
cd ming-vue-table
- 安装vxe-table
npm install xe-utils vxe-table
- 在main.js中引入vxe-table
import Vue from "vue";import App from "./App.vue";import router from "./router";import store from "./store";import 'xe-utils';import VXETable from 'vxe-table';import 'vxe-table/lib/index.css';Vue.use(VXETable);Vue.config.productionTip = false;new Vue({ router, store,render: h => h(App)}).$mount("#app");
因为是全局全量引入,所以可以直接在页面调用
export default {name: "Home", data() {return {tableData: [ {id: 10001,name: "张三",sex: "男",address: "上海市" }, {id: 10002,name: "李四",sex: "女",address: "北京市" }, {id: 10003,name: "王五",sex: "男",address: "天津市" } ] }; }};
运行效果
npm run serve
树形数据表
<template> <div> <vxe-table border row-id="id" :data="tableData" :tree-config="{ children: 'children', expandAll: true }" > <vxe-table-column type="seq" width="180" title="序号" tree-node >vxe-table-column> <vxe-table-column field="name" title="导航名称">vxe-table-column> <vxe-table-column field="url" title="URL">vxe-table-column> vxe-table> div>template><script>export default { data() { return { tableData: [ { seq: 1, name: "系统管理", url: "", children: [ { seq: 10, name: "用户管理", url: "sys/user" }, { seq: 11, name: "权限管理", url: "sys/right" }, { seq: 12, name: "角色管理", url: "sys/role" } ] }, { seq: 2, name: "报表管理", url: "report" } ] }; }};script>
暂时先将项目中需要用到的基础数据表和树形数据表做简单的总结,后续将对其所有的数据表进行详细的介绍,抽时间再研究研究其源码就更OK了!