vue全家桶进阶之路44:Vue3 Element Plus el_row和el_col组件
在 Vue 3 中,Element Plus 也提供了 ElRow
和 ElCol
组件,用于实现栅格布局。
ElRow
组件的常用属性:
gutter
:栅格间距,默认为 0。type
:布局模式,可选值为flex
、justify
和align
。默认值为flex
。tag
:组件标签,默认为div
。
ElCol
组件的常用属性:
span
:栅格占据的列数,默认为 24。offset
:栅格左侧的间隔格数,默认为 0。push
:栅格向右移动的格数,默认为 0。pull
:栅格向左移动的格数,默认为 0。xs
:<768px 响应式栅格数或者属性对象。sm
:≥768px 响应式栅格数或者属性对象。md
:≥992px 响应式栅格数或者属性对象。lg
:≥1200px 响应式栅格数或者属性对象。xl
:≥1920px 响应式栅格数或者属性对象。tag
:组件标签,默认为div
。
示例代码:
- <template>
- <el-row :gutter="20">
- <el-col :span="12">Column 1</el-col>
- <el-col :span="12">Column 2</el-col>
- </el-row>
- </template>
上面的代码中,我们使用 ElRow
和 ElCol
组件实现了一个简单的栅格布局。其中,ElRow
组件设置了 gutter
属性为 20,表示栅格之间的间距为 20 像素。ElCol
组件设置了 span
属性为 12,表示当前栅格占据了 12 格,即占据了一半的宽度。
下面是一个基于 Element Plus 的 Vue 3 示例代码,包含用户名、密码、验证码和登录按钮:
- <template>
- <el-row :gutter="20">
- <el-col :span="24" :md="{ span: 12, offset: 6 }">
- <el-form :model="form" :rules="rules" ref="loginForm" label-width="80px">
- <el-form-item label="用户名" prop="username">
- <el-input v-model="form.username" placeholder="请输入用户名"></el-input>
- </el-form-item>
- <el-form-item label="密码" prop="password">
- <el-input v-model="form.password" type="password" placeholder="请输入密码"></el-input>
- </el-form-item>
- <el-form-item label="验证码" prop="captcha">
- <el-input v-model="form.captcha" placeholder="请输入验证码"></el-input>
- </el-form-item>
- <el-form-item>
- <img :src="captchaSrc" alt="验证码" @click="refreshCaptcha">
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="submitForm">登录</el-button>
- </el-form-item>
- </el-form>
- </el-col>
- </el-row>
- </template>
- <script>
- import { ref } from 'vue';
- import { ElRow, ElCol, ElForm, ElFormItem, ElInput, ElButton } from 'element-plus';
- export default {
- components: {
- ElRow,
- ElCol,
- ElForm,
- ElFormItem,
- ElInput,
- ElButton,
- },
- setup() {
- // 表单数据
- const form = ref({
- username: '',
- password: '',
- captcha: '',
- });
- // 表单验证规则
- const rules = ref({
- username: [
- { required: true, message: '请输入用户名', trigger: 'blur' },
- ],
- password: [
- { required: true, message: '请输入密码', trigger: 'blur' },
- ],
- captcha: [
- { required: true, message: '请输入验证码', trigger: 'blur' },
- ],
- });
- // 验证码图片链接
- const captchaSrc = ref('');
- // 刷新验证码
- const refreshCaptcha = () => {
- captchaSrc.value = `/api/captcha?t=${new Date().getTime()}`;
- };
- // 提交表单
- const submitForm = () => {
- const formRef = ref(null);
- formRef.value.validate((valid) => {
- if (valid) {
- // TODO: 处理登录逻辑
- } else {
- return false;
- }
- });
- };
- return {
- form,
- rules,
- captchaSrc,
- refreshCaptcha,
- submitForm,
- };
- },
- };
- </script>
上面的代码中,我们使用了 Element Plus 的表单组件 ElForm
和表单项组件 ElFormItem
,以及输入框组件 ElInput
和按钮组件 ElButton
。其中,表单数据使用了 Vue 3 的 ref
创建,验证规则也使用了 ref
创建。验证码图片链接也使用了 ref
创建,当用户点击图片时,会调用 refreshCaptcha
方法重新获取验证码图片。最后,当用户点击登录按钮时,会调用 submitForm
方法,其中使用了 formRef
引用表单组件,并调用
vue全家桶进阶之路44:Vue3 Element Plus el_row和el_col组件的更多相关文章
- Vue 全家桶 + Electron 开发的一个跨三端的应用
代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...
- Vue全家桶高仿小米商城
大家好,我是河畔一角,时隔半年再次给大家带来一门重量级的实战课程:<Vue全家桶高仿小米商城>,现在很多公司都在参与到商城的构建体系当中,因此掌握一套商城的标准开发体系非常重要:商城的开始 ...
- vue证明题一,vue全家桶的构成
简单说下vue的构成,当然是简单为主,网上这东西满天飞,简单说几句就ok 1.vue是什么 vue读作view,是一种js框架.只关注于视图层,操作内容包括js,html,css 2.vue全家桶是什 ...
- 用 Vue 全家桶二次开发 V2EX 社区
一.开发背景 为了全面的熟悉Vue+Vue-router+Vuex+axios技术栈,结合V2EX的开放API开发了这个简洁版的V2EX. 在线预览 (为了实现跨域,直接npm run dev部署的, ...
- Vue全家桶
简介 “简单却不失优雅,小巧而不乏大匠”. Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计. 为什么 ...
- 从零开始系列之vue全家桶(3)安装使用vuex
什么是vuex? vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象. 即data中属性同时有一个或几个组件同时使用,就是data中共用的属性. ...
- 使用vue全家桶制作博客网站
前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue.vue-router.vuex.v ...
- 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程
使用vue全家桶制作博客网站 前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ...
- Vue全家桶介绍
一直不清楚全家桶是什么玩意,上网搜了一下,才知道就是平时项目中使用的几个依赖包,下面分享一下 Vue 全家桶介绍 Vue有著名的全家桶系列,包含了vue-router(http://router.vu ...
- 一个简单的假vue全家桶(vue+vue-router+require)
首先说明我觉得这是一个比较好理解的vue全家桶(虽然是假的),模块化也是用require来做的,而且如果后期有必要压缩我也会用gulp来做 1.依赖个个本地模块,require只是用来载入page,这 ...
随机推荐
- Less2-数字型注入
1.判断注入类型 测试:http://localhost/sqli-labs-master/Less-2/index.php?id=1和http://localhost/sqli-labs-maste ...
- Android错误之--Error retrieving parent for item: No resource found that matches the given name 'Theme.A
改正错误 (虽然内容较少,但是还是选择单独占用一篇) 这个错误,可以说是困扰了我好久,然后就看到可以改变一下使用的Android版本,改成Android 4.0,然后就去试了试,发现真的就好了耶! 就 ...
- JS逆向实战10——某集团RSA长加密
由于本网站较为特殊 目标网站加密与其他稍有不同 目标网站 68747470733a2f2f65632e6d696e6d6574616c732e636f6d2e636e2f6f70656e2f686f6 ...
- day05-2-yaml
yaml 1.yaml介绍 YAML是 "YAML Ain't a Markup Language" (YAML不是一种标记语言)的递归缩写.在开发这种语言时,YAML的意思其实是 ...
- day08-自定义转换器&处理JSON&内容协商
自定义转换器&处理JSON&内容协商 1.自定义转换器 1.1基本介绍 SpringBoot 在响应客户端请求时,将提交的数据封装成对象时,使用了内置的转换器,也就是自动帮我们封装对象 ...
- Google Protobuf 编解码
更多内容,前往个人博客 Protobuf 全称:Google Protocol Buffers,由谷歌开源而来,经谷歌内部测试使用.它将数据结构以 .proto 文件进行描述,通过代码生成工具可以生成 ...
- 【译】使用 ChatGPT 和 Azure Cosmos DB 构建智能应用程序
原文 | Mark Brown 翻译 | 郑子铭 随着对智能应用程序的需求不断增长,开发人员越来越多地转向人工智能(AI)和机器学习(ML),以增强其应用程序的功能.聊天机器人已经成为提供对话式人工智 ...
- Go 语言:通过TDD驱动开发创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏。
你被要求创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏. GET /players/{name} 应该返回一个表示获胜总数的数字 POST /players/{name} 应该为玩 ...
- (数据科学学习手札151)速通pandas2.0新版本干货内容
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,前两天pandas正式发布了其 ...
- [Linux]CentOS查看RPM包依赖问题
[经典应用案例] 查看此文前,可先查看 此博文中:在安装软件过程中,如何解决的依赖组件问题? [数据库/Linux]CentOS7安装MySQL Percona版(RPM方式) : 2-1 依赖组件问 ...