Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ElementUI 快速入门

ElementUI 快速入门

作者头像
py3study
发布于 2021-01-05 01:51:05
发布于 2021-01-05 01:51:05
1K00
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

一、概述

Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库指南 了解设计指南,帮助产品设计人员搭建逻辑清晰、结构合理且高效易用的产品。

二、登录演示

环境说明

nodejs版本:v12.15.0

npm版本:6.13.4

vue版本:2.5.2

创建项目

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vue init webpack my-project

执行之后,会有一段提示信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
? Project name (my-project) #回车
? Project description  #回车,也可以写点项目描述
? Author #回车,或者输入作者
? Vue build standalone #回车
? Install vue-router? (Y/n) #这里是官方推荐的路由,果断yes
? Use ESLint to lint your code? #No
? Set up unit tests #No
? Setup e2e tests with Nightwatch? #No
? Should we run `npm install` for you after the project has been created? (recommended)
> Yes, use NPM #可以按上下方向键选择,这里我选第一个NPM,按回车确认
  Yes, use Yarn
  No, I will handle that myself

完成后可能会有警告信息,没事,不是ERR就好

安装element-ui

按照官方方法,执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm i element-ui -S

安装完成之后,会在 package.json记录版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"devDependencies": {
...
...
"element-ui": "^2.14.1"

使用以下命令启动vue项目

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm run dev

运行完成之后,访问页面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://localhost:8080/

效果如下:

使用ElementUI

打开main.js在里面添加三行内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import ElementUI from 'element-ui' //新添加
import 'element-ui/lib/theme-chalk/index.css' //新添加,避免后期打包样式不同,要放在import App from './App';之前
import Vue from 'vue'
import App from './App'
import router from './router'

Vue.use(ElementUI)   //新添加
Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

添加了这三行,我们就可以使用element-ui了 接下来在components文件夹内新建一个Login.vue 文件,添加如下代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <div>
    <!-- 在使用表单验证时,需要注意:
    1.必须给表单对象绑定一个对象::model="loginForm",而且不能写成:v-model="loginForm"
    2.所有的子控件的绑定对象必须是表单对象的内部对象,比如:v-model="loginForm.username",否则总是验证失败
     -->
    <el-form class="login-container" :model="loginForm" ref="loginForm"
             :rules="rules" label-position="left">
      <h3 class="login-title">系统登录</h3>
      <el-form-item prop="username">
        <el-input type="text" v-model="loginForm.username" auto-complete="off" placeholder="用户名"></el-input>
      </el-form-item>
      <el-form-item prop="password">
        <el-input type="password" v-model="loginForm.password" auto-complete="off" placeholder="密码"></el-input>
      </el-form-item>
      <el-checkbox class="login-remember" v-model="checked">记住密码</el-checkbox>
      <el-form-item>
        <el-button class="login-button" type="primary" @click="submitClick('loginForm')">登录</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
  export default {
    name: "Login",
    data() {
      return {
        rules: {
          username: [
            { required: true, message: '请输入用户名', trigger: 'blur'}
          ],
          password: [
            { required: true, message: '请输入密码', trigger: 'blur'}
          ]
        },
        loginForm: {
          username: "admin",
          password: "123"
        },
        checked: true
      };
    },
    methods: {
      submitClick(formName) {
        // 表单验证
        this.$refs[formName].validate(valid => {
          if(valid) {
            alert('提交成功!')
          } else {
            console.log("error submit!")
            return false
          }
        })
      }
    }
  }
</script>

<style scoped>
  .login-container{
    width: 350px;
    margin: 40px auto;
    background-clip: padding-box;
    padding: 35px 35px 15px 35px;
    border: 1px solid #eaeaea;
    border-radius: 15px;
    box-shadow: 0 0 25px #cac6c6;
    background: #fff;
  }
  .login-title{
    margin: 0 auto 40px auto;
    text-align: center;
    color: #505458;
  }
  .login-remember{
    margin: 0 0 35px 0;
    text-align: center;
  }
  .login-button{
    width: 100%;
  }
</style>

注意事项 1.<el-form-item>一定要写在<el-form>内 2.在使用表单验证时,需要注意: (1)必须给表单对象绑定一个对象::model=“loginForm”,而且不能写成:v-model=“loginForm” (2)所有的子控件的绑定对象必须是表单对象的内部对象,比如:v-model=“loginForm.username”,否则总是验证失败

打开router/index.js,添加新路由

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Login from "@/components/Login"

Vue.use(Router)

export default new Router({
  mode: 'history',  //去掉url中的#
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path: '/login',
      name: 'Login',
      component: Login
    },
  ]
})

打开App.vue,修改一下样式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <div id="app">
    <div style="text-align: center;">
      <img alt="Vue logo" src="./assets/logo.png">
    </div>

    <router-view/>
  </div>
</template>

<script>
  export default {
    name: 'App'
  }
</script>

<style>
  #app {
    font-family: 'Avenir', Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*text-align: center;*/
    color: #2c3e50;
    margin-top: 60px;
  }
</style>

访问登录页面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://localhost:8080/login

效果如下:

本文参考链接:

https://blog.csdn.net/panchang199266/article/details/90705797

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vue-QuickStarted
概念:指令(Directives)是 Vue 提供的带有 v- 前缀 的 特殊 标签属性。
用户11097514
2024/05/31
1700
Vue-QuickStarted
第一章 : Vue2 技术精讲
① 对象 → 键就是类名,值是布尔值。如果值为 true,有这个类,否则没有这个类
捞月亮的小北
2023/12/01
2360
第一章 : Vue2 技术精讲
Vue基础
注意:使用v-text时,会将标签内部的内容覆盖并且替换成对应的内容,若不希望内容被覆盖,则不可使用v-text的写法,两种写法都支持表达式,如:v-text="message + ‘!’",{{ message + “!” }}。
Cikian.
2022/09/22
2.7K0
Vue基础
Vue(上)
新建一个Html项目(在vscode中输入 ! 加 Tab键 可快速生成一个标准的Html模板);
十玖八柒
2022/08/01
2.5K0
Vue(上)
后端人眼中的Vue(一)
​ Vue是渐进式 JavaScript 框架,啥叫渐进式?渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,或者如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统。比如Core+Vue-router+Vuex+axios,也可以满足你各种各样的需求。
上分如喝水
2023/01/08
1.1K0
后端人眼中的Vue(一)
Vue学习
Vue基础 官网链接 vue简介 JavaScript 框架 简化Dom操作 响应式的数据驱动 Vue导入 `<!-- 开发环境版本,包含了有帮助的命令行警告 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> (适合初学者) 或者: <!-- 生产环境版本,优化了尺寸和速度 --> <script src="https://cdn.jsdelivr.net/npm/vue"></script> el介
用户7168270
2020/04/06
1.1K0
Vue学习
vue2基础
半月无霜
2023/10/18
3420
Vue.js 快速上手精华梳理-快速上手核心重点【热门收藏】
vuecli文档 https://cli.vuejs.org/zh/ https://cli.vuejs.org/zh/guide/installation.html
瑞新
2022/01/21
9570
Vue.js 快速上手精华梳理-快速上手核心重点【热门收藏】
Vue.js 快速上手精华梳理-快速上手核心重点【建议收藏】
文章目录 Vue.js 快速上手精华梳理 初体验 条件指令 循环指令 处理用户输入 组件初体验 实例 模板语法 计算属性 监听器 Class绑定 Style绑定 条件渲染 列表渲染 事件处理 表单输入绑定 组件基础 git提交-vue核心基础完结 彩蛋福利 PS:本文福利首发于公众号「让我遇见相似的灵魂」,获取最新Vue教程资源 回复关键字:Vue 左手代码,右手吉他,这就是天下:如果有一天我遇见相似的灵魂 那它肯定是步履艰难 不被理解 喜黑怕光的。如果可以的话 让我触摸一下吧 它也一样孤独得太久。
瑞新
2020/07/07
1.4K0
一篇文章带你了解网页框架——Vue简单入门
如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助
秋落雨微凉
2022/10/25
1K0
一篇文章带你了解网页框架——Vue简单入门
2-本地应用:Vue指令
v-text指令用于设置标签的文本值,有两种设置标签文本值的方式,方式一就是通过v-text指令向标签传入值,但这种传入方式会整个替换掉标签内的全部文本信息,如果我们需要特殊化的修改某一部分文本值,就需要用到第二个方式,使用插值表达式传入值
Ywrby
2022/10/27
1.2K0
2-本地应用:Vue指令
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
v-text会覆盖元素中原本的内容,但是 插值表达式 只会替换自己的这个占位符,不会把 整个元素的内容清空。v-html会解析文本中的html标签后展示。具体代码如下:
共饮一杯无
2022/11/28
1.5K0
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
【Vue】(1)基础知识 | MVVM | 基础指令 | v-model | v-for | v-if | v-show | 实例
首先,你可以在这里下载本文使用到的vue.js文件,使用的是v2.6.10开发版本。
前端修罗场
2023/10/07
3330
【Vue】(1)基础知识 | MVVM | 基础指令 | v-model | v-for | v-if | v-show | 实例
浅谈Vue--直接引入Vue.js实现简单地开发
Vue是一个MVVM的JavaScript框架; ViewModel负责逻辑的实现,把Model里的数据传递给View,实现视图层与数据层的解耦
生南星
2019/07/22
7.8K0
Vue入门 基本使用 与 事务管理【1】
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。
陶然同学
2023/02/24
9230
Vue入门 基本使用 与 事务管理【1】
前端(五)-Vue简单基础
你可以用v-model指令在表单、及元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇, 但v-model本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。   注意:v-model会忽略所有表单元素的value、checked、selected特性的初始值而总是将Vue实例的数据作为数据来源。你应该通过JavaScript在组件的data选项中声明初始值!
化羽羽
2022/10/28
9670
史上最详细vue的入门基础
Vue可以自底向上逐层的应用简单应用:只需一个轻量小巧的核心库复杂应用:可以引入各式各样的Vue插件
楠羽
2022/11/18
9510
史上最详细vue的入门基础
一个后端狗的 Vue 笔记【入门级】
最近找了些教程,顺带着趴在官网上,看了看 Vue 的一些内容,入门的一些概念,以及基础语法,还有一些常用的操作,瞄了一眼,通篇文字+贴了部分代码 9000 多字,入门语法什么的还是很好理解的,以前也有一定做小程序的基础,感觉还是很相似的,不过对于一些稍复杂的点,感觉还是总结的不够细致,例如插槽,和计算属性等,平时前端的东西看的也不是很多,学习过程中整理的笔记,和大家一起分享交流!欢迎各位大大交流意见~
BWH_Steven
2020/09/10
1.4K0
一个后端狗的 Vue 笔记【入门级】
后端人眼中的Vue(三)
​ 在之前的购物车的案例当中,我们已经实现了购物车价格的计算,但是有些时候我们需要在其他很多地方也展示价格,所以每展示一次,我们就需要调用一次计算价格的方法,所以Vue给了一个计算属性,用于在Vue实例中完成相关业务计算的工作。
上分如喝水
2023/01/09
9050
后端人眼中的Vue(三)
简学Vue
官网文档:https://cn.vuejs.org/v2/guide/forms.html#%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95
Rochester
2020/09/01
2.3K0
简学Vue
相关推荐
Vue-QuickStarted
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验