您当前的位置: 首页 >  前端

java持续实践

暂无认证

  • 1浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

谷粒商城37 - 前端基础 VUE-整合ElementUI 快速开发

java持续实践 发布时间:2020-08-03 19:08:37 ,浏览量:1

文章目录
      • npm安装ElementUI
      • 使用布局容器搭建页面
      • 设置Vue代码片段
      • 设置侧边栏导航

npm安装ElementUI

官网: https://element.eleme.cn/#/zh-CN/component/installation

安装

npm i element-ui -S

安装完成后, 可以看到版本信息 在项目的main.js中, 引入 elementui

import ElementUI  from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

使用单选框 可以看到代码示例 和 参数说明 进入 /hello 页面的时候, 默认勾选 备选框2 的代码


  
    你好 , hello ,{{name}}

    备选项1
    备选项2
  



export default {
  data() {
    return {
      name: "周杰伦",
      radio: "2", //默认选中 备选项2
    };
  },
};





显示效果如图 改变勾选框的值, 也会动态的改变

使用布局容器搭建页面

官方有容器布局的示例 . 自己copy代码到App.vue中


  
    
      
        
          
            导航一
          
          
            分组一
            选项1
            选项2
          
          
            选项3
          
          
            选项4
            选项4-1
          
        
        
          
            导航二
          
          
            分组一
            选项1
            选项2
          
          
            选项3
          
          
            选项4
            选项4-1
          
        
        
          
            导航三
          
          
            分组一
            选项1
            选项2
          
          
            选项3
          
          
            选项4
            选项4-1
          
        
      
    

    
      
        
          
          
            查看
            新增
            删除
          
        
        王小虎
      

      
        
          
          
          
        
      
    
  




   export default {
    data() {
      const item = {
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      };
      return {
        tableData: Array(20).fill(item)
      }
    }
  };




  .el-header {
    background-color: #B3C0D1;
    color: #333;
    line-height: 60px;
  }
  
  .el-aside {
    color: #333;
  }


显示的效果如图所示 . 关于table的用法 , 如下 https://element.eleme.cn/#/zh-CN/component/table

设置Vue代码片段

在vscode , 文件, 首选项, 新建代码片段, 选择新建全局的代码片段 完整的如下

{
    "Print to console": {
        "prefix": "vue",
        "body": [
            "",
            "",
            "
$5
", "", "", "", "//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)", "//例如:import 《组件名称》 from '《组件路径》';", "", "export default {", "//import引入的组件需要注入到对象中才能使用", "components: {},", "data() {", "//这里存放数据", "return {", "", "};", "},", "//监听属性 类似于data概念", "computed: {},", "//监控data中的数据变化", "watch: {},", "//方法集合", "methods: {", "", "},", "//生命周期 - 创建完成(可以访问当前this实例)", "created() {", "", "},", "//生命周期 - 挂载完成(可以访问DOM元素)", "mounted() {", "", "},", "beforeCreate() {}, //生命周期 - 创建之前", "beforeMount() {}, //生命周期 - 挂载之前", "beforeUpdate() {}, //生命周期 - 更新之前", "updated() {}, //生命周期 - 更新之后", "beforeDestroy() {}, //生命周期 - 销毁之前", "destroyed() {}, //生命周期 - 销毁完成", "activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发", "}", "", "", "$4", "" ], "description": "生成vue模板" }, "http-get请求": { "prefix": "httpget", "body": [ "this.\\$http({", "url: this.\\$http.adornUrl(''),", "method: 'get',", "params: this.\\$http.adornParams({})", "}).then(({ data }) => {", "})" ], "description": "httpGET请求" }, "http-post请求": { "prefix": "httppost", "body": [ "this.\\$http({", "url: this.\\$http.adornUrl(''),", "method: 'post',", "data: this.\\$http.adornData(data, false)", "}).then(({ data }) => { });" ], "description": "httpPOST请求" } }

查看menu的开发文档 https://element.eleme.cn/#/zh-CN/component/menu 有如下的属性 新建一个Mytable.vue 在此文件中, 输入vue, 即可快速的生成模板内容

设置侧边栏导航

需求, 侧边栏的菜单点击用户列表, 跳转 用户列表 点击hello 显示hello页面 新建立的MyTbale, 内容如下, 注意模板中, 要以el-table节点开始.

完整的代码如下



  
    
      
      
      
    
  



//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';

export default {
  //import引入的组件需要注入到对象中才能使用
  components: {},
  data() {
    const item = {
      date: "2016-05-02",
      name: "王小虎1",
      address: "上海市普陀区金沙江路 1518 弄",
    };
    return {
      tableData: Array(20).fill(item),
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {},
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {},
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {},
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
};



修改App.vue中的代码如下


  
    
      
        
          
            导航一
          
          
            分组一
            用户列表
            Hello
          
          
            选项3
          
          
            选项4
            选项4-1
          
        
        
          
            导航二
          
          
            分组一
            选项1
            选项2
          
          
            选项3
          
          
            选项4
            选项4-1
          
        
        
          
            导航三
          
          
            分组一
            选项1
            选项2
          
          
            选项3
          
          
            选项4
            选项4-1
          
        
      
    

    
      
        
          
          
            查看
            新增
            删除
          
        
        王小虎
      

      
        
        
      
    
  



export default {
  data() {
    const item = {
      date: "2016-05-02",
      name: "王小虎",
      address: "上海市普陀区金沙江路 1518 弄"
    };
    return {
      tableData: Array(20).fill(item)
    };
  }
};



.el-header {
  background-color: #b3c0d1;
  color: #333;
  line-height: 60px;
}

.el-aside {
  color: #333;
}


在此处 配置了路由的跳转 之所以写成router 是因为写成router="true"会有报错

Invalid prop: type check failed for prop "router". Expected Boolean, got String with value "true".

根据此篇文章的解决办法, 直接写成router即可 https://blog.csdn.net/qq_42120178/article/details/100712092 在App.vue中的此处设置 路由视图

index.js中 , 配置路由

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Hello from '@/components/Hello'
import MyTable from '@/components/MyTable'

Vue.use(Router)

// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题

export default new Router({
  
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path: '/hello',
      name: 'Hello',
      component: Hello
    },
    {
      path: '/table',
      name: 'MyTable',
      component: MyTable
    }
  ]
})

效果如图所示 点击hello

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0421s