在 Vue 3 中,Element Plus 也提供了 ElRowElCol 组件,用于实现栅格布局。

ElRow 组件的常用属性:

  • gutter:栅格间距,默认为 0。
  • type:布局模式,可选值为 flexjustifyalign。默认值为 flex
  • tag:组件标签,默认为 div

ElCol 组件的常用属性:

  • span:栅格占据的列数,默认为 24。
  • offset:栅格左侧的间隔格数,默认为 0。
  • push:栅格向右移动的格数,默认为 0。
  • pull:栅格向左移动的格数,默认为 0。
  • xs:<768px 响应式栅格数或者属性对象。
  • sm:≥768px 响应式栅格数或者属性对象。
  • md:≥992px 响应式栅格数或者属性对象。
  • lg:≥1200px 响应式栅格数或者属性对象。
  • xl:≥1920px 响应式栅格数或者属性对象。
  • tag:组件标签,默认为 div

示例代码:

  1. <template>
  2. <el-row :gutter="20">
  3. <el-col :span="12">Column 1</el-col>
  4. <el-col :span="12">Column 2</el-col>
  5. </el-row>
  6. </template>

上面的代码中,我们使用 ElRowElCol 组件实现了一个简单的栅格布局。其中,ElRow 组件设置了 gutter 属性为 20,表示栅格之间的间距为 20 像素。ElCol 组件设置了 span 属性为 12,表示当前栅格占据了 12 格,即占据了一半的宽度。

下面是一个基于 Element Plus 的 Vue 3 示例代码,包含用户名、密码、验证码和登录按钮:

  1. <template>
  2. <el-row :gutter="20">
  3. <el-col :span="24" :md="{ span: 12, offset: 6 }">
  4. <el-form :model="form" :rules="rules" ref="loginForm" label-width="80px">
  5. <el-form-item label="用户名" prop="username">
  6. <el-input v-model="form.username" placeholder="请输入用户名"></el-input>
  7. </el-form-item>
  8. <el-form-item label="密码" prop="password">
  9. <el-input v-model="form.password" type="password" placeholder="请输入密码"></el-input>
  10. </el-form-item>
  11. <el-form-item label="验证码" prop="captcha">
  12. <el-input v-model="form.captcha" placeholder="请输入验证码"></el-input>
  13. </el-form-item>
  14. <el-form-item>
  15. <img :src="captchaSrc" alt="验证码" @click="refreshCaptcha">
  16. </el-form-item>
  17. <el-form-item>
  18. <el-button type="primary" @click="submitForm">登录</el-button>
  19. </el-form-item>
  20. </el-form>
  21. </el-col>
  22. </el-row>
  23. </template>
  24.  
  25. <script>
  26. import { ref } from 'vue';
  27. import { ElRow, ElCol, ElForm, ElFormItem, ElInput, ElButton } from 'element-plus';
  28.  
  29. export default {
  30. components: {
  31. ElRow,
  32. ElCol,
  33. ElForm,
  34. ElFormItem,
  35. ElInput,
  36. ElButton,
  37. },
  38. setup() {
  39. // 表单数据
  40. const form = ref({
  41. username: '',
  42. password: '',
  43. captcha: '',
  44. });
  45.  
  46. // 表单验证规则
  47. const rules = ref({
  48. username: [
  49. { required: true, message: '请输入用户名', trigger: 'blur' },
  50. ],
  51. password: [
  52. { required: true, message: '请输入密码', trigger: 'blur' },
  53. ],
  54. captcha: [
  55. { required: true, message: '请输入验证码', trigger: 'blur' },
  56. ],
  57. });
  58.  
  59. // 验证码图片链接
  60. const captchaSrc = ref('');
  61.  
  62. // 刷新验证码
  63. const refreshCaptcha = () => {
  64. captchaSrc.value = `/api/captcha?t=${new Date().getTime()}`;
  65. };
  66.  
  67. // 提交表单
  68. const submitForm = () => {
  69. const formRef = ref(null);
  70. formRef.value.validate((valid) => {
  71. if (valid) {
  72. // TODO: 处理登录逻辑
  73. } else {
  74. return false;
  75. }
  76. });
  77. };
  78.  
  79. return {
  80. form,
  81. rules,
  82. captchaSrc,
  83. refreshCaptcha,
  84. submitForm,
  85. };
  86. },
  87. };
  88. </script>

上面的代码中,我们使用了 Element Plus 的表单组件 ElForm 和表单项组件 ElFormItem,以及输入框组件 ElInput 和按钮组件 ElButton。其中,表单数据使用了 Vue 3 的 ref 创建,验证规则也使用了 ref 创建。验证码图片链接也使用了 ref 创建,当用户点击图片时,会调用 refreshCaptcha 方法重新获取验证码图片。最后,当用户点击登录按钮时,会调用 submitForm 方法,其中使用了 formRef 引用表单组件,并调用

vue全家桶进阶之路44:Vue3 Element Plus el_row和el_col组件的更多相关文章

  1. Vue 全家桶 + Electron 开发的一个跨三端的应用

    代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...

  2. Vue全家桶高仿小米商城

    大家好,我是河畔一角,时隔半年再次给大家带来一门重量级的实战课程:<Vue全家桶高仿小米商城>,现在很多公司都在参与到商城的构建体系当中,因此掌握一套商城的标准开发体系非常重要:商城的开始 ...

  3. vue证明题一,vue全家桶的构成

    简单说下vue的构成,当然是简单为主,网上这东西满天飞,简单说几句就ok 1.vue是什么 vue读作view,是一种js框架.只关注于视图层,操作内容包括js,html,css 2.vue全家桶是什 ...

  4. 用 Vue 全家桶二次开发 V2EX 社区

    一.开发背景 为了全面的熟悉Vue+Vue-router+Vuex+axios技术栈,结合V2EX的开放API开发了这个简洁版的V2EX. 在线预览 (为了实现跨域,直接npm run dev部署的, ...

  5. Vue全家桶

    简介 “简单却不失优雅,小巧而不乏大匠”. Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计. 为什么 ...

  6. 从零开始系列之vue全家桶(3)安装使用vuex

    什么是vuex? vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象. 即data中属性同时有一个或几个组件同时使用,就是data中共用的属性. ...

  7. 使用vue全家桶制作博客网站

    前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue.vue-router.vuex.v ...

  8. 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程

    使用vue全家桶制作博客网站   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ...

  9. Vue全家桶介绍

    一直不清楚全家桶是什么玩意,上网搜了一下,才知道就是平时项目中使用的几个依赖包,下面分享一下 Vue 全家桶介绍 Vue有著名的全家桶系列,包含了vue-router(http://router.vu ...

  10. 一个简单的假vue全家桶(vue+vue-router+require)

    首先说明我觉得这是一个比较好理解的vue全家桶(虽然是假的),模块化也是用require来做的,而且如果后期有必要压缩我也会用gulp来做 1.依赖个个本地模块,require只是用来载入page,这 ...

随机推荐

  1. Less2-数字型注入

    1.判断注入类型 测试:http://localhost/sqli-labs-master/Less-2/index.php?id=1和http://localhost/sqli-labs-maste ...

  2. Android错误之--Error retrieving parent for item: No resource found that matches the given name 'Theme.A

    改正错误 (虽然内容较少,但是还是选择单独占用一篇) 这个错误,可以说是困扰了我好久,然后就看到可以改变一下使用的Android版本,改成Android 4.0,然后就去试了试,发现真的就好了耶! 就 ...

  3. JS逆向实战10——某集团RSA长加密

    由于本网站较为特殊 目标网站加密与其他稍有不同 目标网站 68747470733a2f2f65632e6d696e6d6574616c732e636f6d2e636e2f6f70656e2f686f6 ...

  4. day05-2-yaml

    yaml 1.yaml介绍 YAML是 "YAML Ain't a Markup Language" (YAML不是一种标记语言)的递归缩写.在开发这种语言时,YAML的意思其实是 ...

  5. day08-自定义转换器&处理JSON&内容协商

    自定义转换器&处理JSON&内容协商 1.自定义转换器 1.1基本介绍 SpringBoot 在响应客户端请求时,将提交的数据封装成对象时,使用了内置的转换器,也就是自动帮我们封装对象 ...

  6. Google Protobuf 编解码

    更多内容,前往个人博客 Protobuf 全称:Google Protocol Buffers,由谷歌开源而来,经谷歌内部测试使用.它将数据结构以 .proto 文件进行描述,通过代码生成工具可以生成 ...

  7. 【译】使用 ChatGPT 和 Azure Cosmos DB 构建智能应用程序

    原文 | Mark Brown 翻译 | 郑子铭 随着对智能应用程序的需求不断增长,开发人员越来越多地转向人工智能(AI)和机器学习(ML),以增强其应用程序的功能.聊天机器人已经成为提供对话式人工智 ...

  8. Go 语言:通过TDD驱动开发创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏。

    你被要求创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏.  GET /players/{name} 应该返回一个表示获胜总数的数字  POST /players/{name} 应该为玩 ...

  9. (数据科学学习手札151)速通pandas2.0新版本干货内容

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,前两天pandas正式发布了其 ...

  10. [Linux]CentOS查看RPM包依赖问题

    [经典应用案例] 查看此文前,可先查看 此博文中:在安装软件过程中,如何解决的依赖组件问题? [数据库/Linux]CentOS7安装MySQL Percona版(RPM方式) : 2-1 依赖组件问 ...