详细讲解Element UI 中丰富的表单控件(图文解析)

2024-06-12 08:52

本文主要是介绍详细讲解Element UI 中丰富的表单控件(图文解析),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 前言
  • 1. 文本框、文本域
  • 2. 下拉框 (Select)
  • 3. 单选框 (Radio)
  • 4. 复选框 (Checkbox)
  • 5. 日期控件 (Date Picker)
  • 6. 图片上传 (Image Upload)
  • 7. 文件上传 (File Upload)
  • 8. 富文本控件 (Rich Text Editor)

前言

Element UI 一个基于 Vue.js 2.0 的桌面端组件库,提供许多常用的 UI 组件

该博客主要讲解如何使用 Element UI 创建各种表单控件,包括文本框、文本域、下拉框、单选框、复选框、日期控件、图片上传、文件上传和富文本控件

在这里插入图片描述

1. 文本框、文本域

文本框比较简易,也是用得比较多的一个控件
就是没有type: <el-input v-model="formData.description" placeholder="请输入描述" />

如果是文本域,则如下:

示例代码如下

<template><el-form :model="formData" ref="form"><el-form-item label="描述" prop="description"><el-input type="textarea" v-model="formData.description" placeholder="请输入描述" /></el-form-item></el-form>
</template><script>
export default {data() {return {formData: {description: ''}};}
};
</script>

主要的属性如下:

  • v-model:绑定输入值
  • type:设置为 textarea 以启用多行输入

如图所示:

在这里插入图片描述

2. 下拉框 (Select)

用于从预定义的选项中选择一个值

通过 el-selectel-option 组件实现

<template><el-form :model="formData" ref="form"><el-form-item label="箱型" prop="boxType"><el-select v-model="formData.boxType" placeholder="请选择箱型"><el-option label="类型1" value="type1"></el-option><el-option label="类型2" value="type2"></el-option></el-select></el-form-item></el-form>
</template><script>
export default {data() {return {formData: {boxType: ''}};}
};
</script>

主要属性和方法

  • v-model:绑定选中的值
  • placeholder:输入框为空时的占位文本
  • el-optionlabelvalue:分别表示选项的显示文本和实际值

实战中的代码示例如下:

<el-form-item label="预约类型" prop="appointmentType"><el-select v-model="formData.appointmentType" :disabled="formType === 'detail'" placeholder="请选择预约类型"><el-optionv-for="dict in getStrDictOptions(DICT_TYPE.DANGEROUS_APPOINTMENT_TYPE)":key="dict.value":label="dict.label":value="dict.value"/></el-select>
</el-form-item>

可以通过字典的形式进行存储

3. 单选框 (Radio)

用于从一组选项中选择一个值

通过 el-radioel-radio-group 组件实现

<template><el-form :model="formData" ref="form"><el-form-item label="性别" prop="gender"><el-radio-group v-model="formData.gender"><el-radio label="male"></el-radio><el-radio label="female"></el-radio></el-radio-group></el-form-item></el-form>
</template><script>
export default {data() {return {formData: {gender: ''}};}
};
</script>

主要属性和方法:

  • v-model:绑定选中的值
  • el-radiolabel:单选框的值

4. 复选框 (Checkbox)

用于从一组选项中选择多个值

通过 el-checkboxel-checkbox-group 组件实现

<template><el-form :model="formData" ref="form"><el-form-item label="职位" prop="hobbies"><el-checkbox-group v-model="formData.hobbies"><el-checkbox label="reading">吗喽1</el-checkbox><el-checkbox label="sports">吗喽2</el-checkbox><el-checkbox label="music">吗喽3</el-checkbox></el-checkbox-group></el-item></el-form>
</template><script>
export default {data() {return {formData: {hobbies: []}};}
};
</script>

主要属性和方法:

  • v-model:绑定选中的值
  • el-checkboxlabel:复选框的值

5. 日期控件 (Date Picker)

用于选择日期或日期范围

通过 el-date-picker 组件实现

<template><el-form :model="formData" ref="form"><el-form-item label="日期" prop="date"><el-date-picker v-model="formData.date" type="date" placeholder="请选择日期"></el-date-picker></el-form-item></el-form>
</template><script>
export default {data() {return {formData: {date: ''}};}
};
</script>

主要属性和方法:

  • v-model:绑定选中的日期
  • type:设置日期选择器类型,如 date、daterange、datetime 等
  • placeholder:输入框为空时的占位文本

对于这个日期原先写过一个组件,推荐阅读:【ElementUI】详细分析DatePicker 日期选择器

截图如下:

在这里插入图片描述

6. 图片上传 (Image Upload)

<template><el-form :model="formData" ref="form"><el-form-item label="上传图片" prop="image"><el-uploadaction="https://jsonplaceholder.typicode.com/posts/"list-type="picture-card":on-preview="handlePreview":on-remove="handleRemove"v-model="formData.image"><i class="el-icon-plus"></i></el-upload></el-form-item></el-form>
</template><script>
export default {data() {return {formData: {image: []}};},methods: {handlePreview(file) {console.log(file);},handleRemove(file, fileList) {console.log(file, fileList);}}
};
</script>

主要属性和方法:

  • action:上传的地址
  • list-type:文件列表的类型,可选值为 text、picture 和 picture-card
  • on-preview:点击文件列表中已上传的文件时的钩子
  • on-remove:文件列表移除文件时的钩子

7. 文件上传 (File Upload)

通过 el-upload 组件实现

<template><el-form :model="formData" ref="form"><el-form-item label="上传文件" prop="file"><el-uploadaction="https://jsonplaceholder.typicode.com/posts/":on-preview="handlePreview":on-remove="handleRemove"v-model="formData.file"><el-button type="primary">点击上传</el-button></el-upload></el-form-item></el-form>
</template><script>
export default {data() {return {formData: {file: []}};},methods: {handlePreview(file) {console.log(file);},handleRemove(file, fileList) {console.log(file, fileList);}}
};
</script>

主要属性和方法

  • action:上传的地址
  • on-preview:点击文件列表中已上传的文件时的钩子
  • on-remove:文件列表移除文件时的钩子

8. 富文本控件 (Rich Text Editor)

用于编辑和格式化文本内容

通过第三方库如 vue-quill-editor 实现:npm install vue-quill-editor

<template><el-form :model="formData" ref="form"><el-form-item label="内容" prop="content"><quill-editor v-model="formData.content" ref="quillEditor"></quill-editor></el-form-item></el-form>
</template><script>
import { quillEditor } from 'vue-quill-editor';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';export default {components: {quillEditor},data() {return {formData: {content: ''}};}
};
</script>

主要属性和方法:

  • v-model:绑定编辑器内容
  • quillEditor:富文本编辑器组件

这个控件比较丰富,我使用的是Editor

<el-form-item label="货物描述" prop="descriptionGoods"><Editor v-model="formData.descriptionGoods" height="150px" />
</el-form-item>

截图如下:

在这里插入图片描述

这篇关于详细讲解Element UI 中丰富的表单控件(图文解析)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053754

相关文章

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Golang HashMap实现原理解析

《GolangHashMap实现原理解析》HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持高效的插入、查找和删除操作,:本文主要介绍GolangH... 目录HashMap是一种基于哈希表实现的键值对存储结构,它通过哈希函数将键映射到数组的索引位置,支持

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

java解析jwt中的payload的用法

《java解析jwt中的payload的用法》:本文主要介绍java解析jwt中的payload的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解析jwt中的payload1. 使用 jjwt 库步骤 1:添加依赖步骤 2:解析 JWT2. 使用 N