使用Element进行前端开发的详细图文教程

目录
  • 前言
  • 1、添加路由
  • 2、添加页面
  • 3、添加元素
  • 4、添加事件
  • 5、提交表单数据
  • 总结

前言

本文介绍如何使用vue-element-admin+element进行前端开发。

我们可以使用element组件很方便的进行前端开发,并且每个组件都已经提供了对应的代码,只需要复制我们需要的功能即可。

前提:下载编译运行vue-elemnt-admin,详细可见vue-element-admin官网

> git clone -b api https://github.com/five3/vue-element-admin.git

> cd vue-element-admin

> npm i

> npm run dev

出现如下显示,说明运行成功,可以访问。

目的:实现任务列表项目前端

1、添加路由

1、在src/router/index.js文件,并在constantRoutes列表中追加一个路由子项

{
    path: '/todo',
    component: Layout,
    redirect: '/todo/index',
    hidden: false,
    children: [
      {
        path: 'index',
        component: () => import('@/views/todo/index'),
        name: 'Profile',
        meta: { title: '任务列表', icon: 'list', noCache: true }
      }
    ]
  }

2、添加页面

创建一个路径为src/views/todo的目录,同时在该目录下创建一个名为index.vue的文件

<template></template>
  <div class="app-container"></div>
    <h1></h1>{{ title }}</h1></h1>
  </div>
  </template>
<script></script>
export default {
  name: 'Todo',
  data() {
    return {
      title: '任务列表'
    }
  }
}
</script>

3、添加元素

页面上的当前任务、未完成、已完成,实际是三个tab标签页

打开element网站,找到tab标签页这个组件,找到想要的效果,打开代码复制到index.vue

创建任务按钮是一个按钮。

   <el-button type="primary" @click="createTask">创建任务</el-button>

任务名称这一行是一个table表格

  <el-table
            :data="tableData"
            border
            style="width: 100%;">
            <el-table-column
              fixed
              prop="name"
              label="任务名称"
              width="100">
            </el-table-column>
            <el-table-column
              prop="desc"
              label="任务描述"
              width="400">
            </el-table-column>
            <el-table-column
              prop="start_time"
              label="开始时间"
              width="150">
            </el-table-column>
            <el-table-column
              prop="end_time"
              label="结束时间"
              width="150">
            </el-table-column>
            <el-table-column
              prop="assign"
              label="执行人"
              width="120">
            </el-table-column>
            <el-table-column
              prop="status"
              label="任务状态"
              width="120">
            </el-table-column>
            <el-table-column
              fixed="right"
              label="操作"
              width="60">
              <template slot-scope="scope">
                <el-button type="text" size="small" @click="editTask(scope.row)">编辑</el-button>
              </template>
            </el-table-column>
          </el-table>

最后个表格列-操作下面,还包括一个编辑的text按钮。

  <el-table-column
              fixed="right"
              label="操作"
              width="60">
              <template slot-scope="scope">
                <el-button type="text" size="small" @click="editTask(scope.row)">编辑</el-button>
              </template>
            </el-table-column>

点击创建任务,右侧弹出一个面板

这其实是一个抽屉组件,组件内是一个表单组件。

4、添加事件

在页面代码中通过@click属性来绑定事件处理函数,还需要在methods对象中定义对应的处理函数对象

export default {
  name: 'Todo',
  data() {
    return {
      ...
      form: {
        'name': '',
        'desc': '',
        'start_time': '',
        'end_time': '',
        'assign': '',
        'status': ''
      }
    }
  },
  methods: {
    createTask () {
      this.title = '创建任务';
      this.drawer = true;
      this.form = {};
    },
    editTask (row) {
      this.title = '编辑任务';
      this.drawer = true;
      this.form = row;
    },
    onSubmit() {
      console.log('submit!');
    }
  }
}

5、提交表单数据

在之前的内容中已经完成了页面的设计和交互,这里需要做的是把表单的内容提交到服务器端。Vue中发送ajax请求到服务器端推荐使用axios组件,而vue-element-admin框架已经集成并封装了该组件。首先,在src/api目录下新建一个todo.js的文件

import request from '@/utils/request'
export function submit (data) {
  return request({
    url: '/api/todo',
    method: 'post',
    headers: {
      'Content-Type': 'application/json'
    },
    data
  })
}

这里定义了一个发送ajax请求的submit函数,该函数实际上调用了封装好axios组件的request函数,并将请求相关的url、method、headers、data数据传递给该底层函数。之后,在src/views/todo/index.vue页面中引入定义好的submit函数,并将onSubmit处理函数中的内容进行替换。

<script>
import {submit} from '@/api/todo'
…
    onSubmit () {
      submit(this.form).then((response)=>{
        if (response.code === 0) {
          this.$message({
            showClose: true,
            message: '保存成功!',
            type: 'success'
          });
        }
      })
    }
</script>

这里调用submit函数,把表单数据提交给requests,然后获取返回结果response。

当response为0时,返回message。

任务内容提交到服务器之后,还需要再次从服务器拉取下来以便于查看。与提交数据到服务器类似,从服务器获取数据同样需要通过ajax方式来发送HTTP请求。具体要做的是在src/api/todo.js文件中新建一个名为pullData的函数。具体内容如下:

export function pullData (par) {
  return request({
    url: '/api/todo',
    method: 'get',
    params: par
  })
}

然后,在src/views/todo/index.vue文件中引入该函数,同时定义一个调用该函数的新函数getTaskData。

    getTaskList (tab) {
      pullData({tab: tab}).then((response)=>{
        if (response.code === 0) {
          this.tableData = response.data;
        }
      })
    }

同时在点击tab加载页面时,调用该函数

mounted() {
    this.getTaskList(this.activeTab)
  },

完整代码的分支路径为:https://github.com/five3/vue-element-admin/tree/todo

总结

到此这篇关于使用Element进行前端开发的文章就介绍到这了,更多相关Element前端开发内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 利用vue + element实现表格分页和前端搜索的方法

    前言 ElementUI是饿了么前端开源的一个基于Vue的前端框架,已经帮我们封装好了一系列功能性的组件,比如栅格系统.表格.表单.树形菜单.通知等.对于搞后台管理界面的项目,特别是不需要考虑兼容ie8.ie9以下的项目.ElementUI是一个不错的选择. 而且ElementUI的文档写得十分详尽,参照demo可以很快上手. 本文主要介绍了关于vue + element实现表格分页和前端搜索的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 实现思路 1.前端后台管理

  • Vue Element前端应用开发之获取后端数据

    概述 在前面随笔<循序渐进VUE+Element 前端应用开发之动态菜单和路由的关联处理>中介绍了在Vue + Element整合框架中,实现了动态菜单和动态路由的处理,从而可以根据用户角色对应的菜单实现本地路由的过滤和绑定,菜单顺利弄好了,就需要进一步开发页面功能了,本篇随笔介绍一个案例,通过获取后端数据后,进行产品信息页面的处理. 1.后端数据的获取处理 前后端的边界则非常清晰,前端可以在通过网络获取对应的JSON就可以构建前端的应用了. 我们通过Vue.config.js的配置信息,可以

  • Vue Element前端应用开发之表格列表展示

    1.列表查询界面效果 在介绍任何代码处理逻辑之前,我们先来做一个感官的认识,贴上一个效果图,在逐一介绍其中处理的步骤和注意事项. 常规的列表展示界面,一般分为几个区域,一个是查询区域,一个是列表展示区域,一个是底部的分页组件区域.查询区域主要针对常规条件进行布局,以及增加一些全局或者批量的操作,如导入.导出.添加.批量添加.批量删除等按钮:而其中主体的列表展示区域,是相对比较复杂一点的地方,需要对各项数据进行比较友好的展示,可以结合Tag,图标,按钮等界面元素来展示,其中列表一般后面会包括一些对

  • vue+Element-ui前端实现分页效果

    本文实例为大家分享了vue+Element-ui前端实现分页效果的具体代码,供大家参考,具体内容如下 分页技术 分页技术的概念 分页就是将所有的数据分段展示给用户,用户看到的可能不是全部的数据,而是其中一部分,用户可以通过点击页码来查找自己需要的内容,也可以通过模糊查询获取符合内容的数据 分页的意义 分页确实有效,但它一定会加大系统的复杂度,但可否不分页呢?如果数据量少的话当然可以.但是对于企业信息系统来说数据量不会限制在一个小范围内.如果不顾一切的Select * from某个表,再将返回的数

  • Vue Element前端应用开发之echarts图表

    概述 基于图表的处理,我们一般往往都是利用对应第三方的图表组件,然后在这个基础上为它的数据模型提供符合要求的图表数据即可,VUE+Element 前端应用也不例外,我们这里使用了基于vue-echarts组件模块来处理各种图表vue-echarts是对echarts图表组件的封装. 1.图表组件的安装使用 首先使用npm 安装vue-echarts组件. git地址:https://github.com/ecomfe/vue-echarts NPM安装命令 npm install echarts

  • 使用Element进行前端开发的详细图文教程

    目录 前言 1.添加路由 2.添加页面 3.添加元素 4.添加事件 5.提交表单数据 总结 前言 本文介绍如何使用vue-element-admin+element进行前端开发. 我们可以使用element组件很方便的进行前端开发,并且每个组件都已经提供了对应的代码,只需要复制我们需要的功能即可. 前提:下载编译运行vue-elemnt-admin,详细可见vue-element-admin官网 > git clone -b api https://github.com/five3/vue-el

  • 使用IDEA进行安卓开发的详细图文教程

    目录 前言 一.配置JDK环境 1.1.下载JDK 1.2.配置环境变量 二.使用IDEA配置Android SDK 开发环境 三.使用IDEA创建 Android 项目 总结 前言 以前使用Eclipse 进行 Android 开发,感觉对新手来说实在是太不友好了,又是Android SDK,有是配 gradle 等一系列的东西,对与新手而言,总是遗漏.或者版本对不上,一堆问题,用 IDEA 来开发以后发现实在是太香了,很多东西都内置好了,安装上面步骤下载就好,反而少了很多不必要的麻烦 一.配

  • linux环境安装node.js开发环境搭建图文教程

    Node.js现在有多火,有多重要,就不多说了,这里介绍一下他的开发环境安装,通常情况下,我们都是在window环境进行开发,或者是在mac环境下进行开发,但是我们的项目实际运行的环境一般都是在linux上的,所以我们让我们的开发环境和生产环境能够尽量统一,且能够方便我们开发,一般我们将必要环境安装在服务器上,然后在window上通过xshell,SecureCRTPortable等一些工具连接上去,在window上使用方便IDE软件开发,然后通过ftp将文件同步上去,所以这里就讲一些如何在服务

  • MySQL 5.7.20绿色版安装详细图文教程

    首先大家了解一下什么是MySQL? MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.它是一种关系数据库管理系统,使用的SQL语言是用于访问数据库的最常用标准化语言.MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库. 下面本文已MySQL Community Server 5.7.20为例,主要讲述一下mysql-5.7.20-wi

  • vs2019安装和使用详细图文教程

    vs2019已经在4月2日正式发布,vs2019发布会请看这个链接: vs2019发布活动 vs2019和vs2017一样强大,项目兼容,不用互相删除,而且C/C++,Python,F#,ios,Android,Web,Node.js,Azure,Unity,HTML,JavaScript等开发都可以执行,相关介绍可以看这个官方网址:Visual Studio 2019 关于RC版用户更新到正式发布版可参看第五节,4月2号之后下载的用户可忽略本节内容 一.官网下载 1.下载网址:微软官网 2.官

  • 使用IDEA搭建ssm框架的详细图文教程

    ssm(spring springMVC mybatis) 1.创建项目 file->new->project 2.新建的maven项目目录结构 添加ssm需要的文件夹等 如果去掉java文件夹的蓝色标志,会发现这里new时不能创建java类或包 如果main/java前不是蓝色文件夹或test/java前不是绿色文件夹,可以这样添加 3.加入maven依赖 pom.xml <?xml version="1.0" encoding="UTF-8"?

  • jenkins+maven+svn自动部署和发布的详细图文教程

    Jenkins Jenkins是一个开源的.可扩展的持续集成.交付.部署的基于web界面的平台.允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成. 通常我们使用Jenkins主要实现以下功能: 持续集成指的是,频繁地(一天多次)将代码集成到主干.将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误. 持续交付指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审.如果评审通过,代码就进入生产阶段. 正文开始 博主前几个月刚被忽悠到一

  • PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)

    PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制.此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发. 本教程适用于 Pycharm 所有版本,之前激活过的请重新下载安装参数 一.激活前注意事项 软件一定要是在官网下载:https://www.jetbrains.com/ 本教程适用于jetbrains全系列产品(Pyc

  • 前端开发TypeScript入门基础教程

    TYPESCRIPT 官网 github TypeScript是一种由微软开发的开源.跨平台的编程语言.它是JavaScript的超集,最终会被编译为JavaScript代码. 可以看看官网的5分钟 TypeScript Tooling in 5 minutes 安装 TypeScript 命令行运行如下命令,全局安装 TypeScript: npm install -g typescript 安装完成后,在控制台运行如下命令,检查安装是否成功: tsc -V 第一个ts程序 新建文件 test

  • Source Insight 4.0.093 安装破解详细图文教程

    sourceinsight破解版下载及安装教程——是一款功能强大的程序编辑器和代码浏览器,只要你拥有相应的程序语言包就能够进行程序分析,比如说目前最好的开源语言java.软件提供个用户快速的对源码进行导航和任何程序编辑器的元信息,还提供了快速和革新的访问源代码和原信息的能力,让开发人员轻松进行编程. source insight 4也是如今最好的与演变及其之一,支持近乎所有的语言,比如C.C++之类常见的语言,以及一些不常见的比如GO语言.这款语言编辑器能够自动创建并维护自己高性能的符号数据库,

随机推荐