赞
踩
button | <el-button>Defalut</el-button> | ![]() | type="primary|success|info|warning|danger" | |
<el-button plain>Plain</el-button> | ![]() | type="primary|success|info|warning|danger" | ||
<el-button round>Round</el-button> | ![]() | type="primary|success|info|warning|danger" | ||
<el-button :icon="Search" circle /> | ![]() | <script setup> import { Check, Delete, Edit, Message, Search, Star, } from '@element-plus/icons-vue' </script> | ||
<el-button type="primary" :icon="Edit" circle /> | ![]() | |||
<el-button type="success" :icon="Check" circle /> | ![]() | |||
<el-button type="info" :icon="Message" circle /> | ![]() | |||
<el-button type="warning" :icon="Star" circle /> | ![]() | |||
<el-button type="danger" :icon="Delete" circle /> | ![]() | |||
禁用状态 | <el-button disabled>Default</el-button> | 添加disabled | ||
链接按钮 | <el-button link>button</el-button> | ![]() | 添加link | |
添加样式: 1. type="primary|success|info|warning|danger" 2.渲染 <template> {{ button.text }}</el-button> <script setup> | ||||
文字按钮 | <el-button text bg>button</el-button> | ![]() | 没有边框(text)和背景色(bg)的按钮 添加样式同上 | |
按钮图标 | <el-button type="..." :icon="..." /> | type="primary|success|info|warning|danger" :icon="Delete | Edit | Search | Share | Upload | ArrowLeft | ArrowRight" | ||
格式: 1. <el-button type="..." :icon="..." /> 2. //在图标后面添加内容 <el-button type="..." :icon="..."> text 3. //在图标前面添加内容 <el-button type="..."> 需要添加style <script setup > | ||||
按钮组 | <el-button-group>按钮组</el-button-group> | 通过<el-button-group>将一组按钮包裹起来 | ||
加载按钮 | <el-button type="..." loading>Loading</el-button> | ![]() | 添加loading | |
按钮大小 | <el-button size="..">Large</el-button> | size="large | small" ,不写默认中等 | ||
按钮颜色 | <el-button color="..." :dark="isDark">Default</el-button> | 添加color=" " :dark="isDark" js中添加 import { isDark } from '~/composables/dark' |
button API
Button属性 | |||
size | 尺寸 | type | 类型 |
plain | 是否为朴素按钮 | text | 是否为文字按钮 |
bg | 是否显示文字按钮背景颜色 | link | 是否为链接按钮 |
round | 是否为圆角按钮 | circle | 是否为圆形按钮 |
loading | 是否为加载中状态 | loading-icon | 自定义加载中状态图标组件 |
disabled | 按钮是否为禁用状态 | icon | 图标组件 |
autofocus | 原生autofocus属性 | native-type | 原生 type 属性 |
auto-insert-space | 自动在两个中文字符之间插入空格 | color | 自定义按钮颜色, 并自动计算hover和active触发后的颜色 |
dark | dark 模式, 意味着自动设置color为 dark 模式的颜色 | ||
Button插槽 | |||
default | 自定义默认内容 | loading | 自定义加载中组件 |
icon | 自定义图标组件 | ||
Button对外暴露的方法 | |||
ref | 按钮 html 元素 | size | 按钮尺寸 |
type | 按钮类型 | disabled | 按钮已禁用 |
shouldAddSpace | 是否在两个字符之间插入空格 |
ButtonGroup API
属性 | |
size | 用于控制该按钮组内按钮的大小 |
type | 用于控制该按钮组内按钮的类型 |
插槽 | |
default | 自定义按钮组内容 |
- <template>
- <el-radio v-model="radio" label="1">选项</el-radio>
- <el-radio v-model="radio" label="2">选项</el-radio>
- </template>
-
- <script>
- export default {
- data(){
- //默认选中的按钮
- return{
- radio:'1'
- }
- }
- }
- </script>
- <template>
- <el-radio-group v-model="radio">
- <el-radio label="1">选项</el-radio>
- <el-radio label="2">选项</el-radio>
- </el-radio-group>
- </template>
-
- <script>
- export default {
- data(){
- return{
- radio:'1'
- }
- }
- }
- </script>

- <template>
- <el-radio-group v-model="radio">
- <el-radio-button label="1">选项</el-radio-button>
- <el-radio-button label="2">选项</el-radio-button>
- </el-radio-group>
- </template>
-
- <script>
- export default {
- data(){
- return{
- radio:'1'
- }
- }
- }
- </script>

label | Radio的value | label="number|number|boolean | |
disabled | 是否禁用 | 默认false | |
border | 是否显示边框 | 默认false | |
size | Radio的尺寸,仅当border为true时有效 | size="medium|small|mini | |
name | 原生name属性 |
change | 绑定值变化时触发的事件 | @change=" " | 回调参数为选中的Radio label值 |
size | 按钮组尺寸,仅对按钮形式或带有边框的Radio有效 | size="medium|small|mini | |
disabled | |||
text-color | 按钮形式的Radio激活时的文本颜色 | text-color="" | 默认#fff |
fill | 按钮形式的Radio被激活时的填充色和边框色 | fill="" | 默认#409EFF |
change | 绑定值变化时触发 | @change="" | 返回选中的Radio label值 |
- <template>
- <el-checkbox v-model="checked">选项</el-checkbox>
- </template>
- <script>
- export default{
- data(){
- return{
- checked:true
- }
- }
- }
- </script>
- <template>
- <el-checkbox-group v-model="checkList">
- <el-checkbox label="A"></el-checkbox>
- <el-checkbox label="B"></el-checkbox>
- <el-checkbox label="C"></el-checkbox>
- </el-checkbox-group>
- </template>
- <script>
- export default {
- data(){
- //多选
- return{
- checkList:["A","C"]
- }
- }
- }
- </scrpit>

- <template>
- <el-checkbox-group v-model="checkList">
- <el-checkbox-button label="A"></el-checkbox-button>
- <el-checkbox-button label="B"></el-checkbox-button>
- <el-checkbox-button label="C"></el-checkbox-button>
- </el-checkbox-group>
- </template>
- <script>
- export default {
- data(){
- //多选
- return{
- checkList:["A","C"]
- }
- }
- }
- </script>

checkbox | checkbox-button | ||
true-label | 选中时的值 | |
false-label | 没有选中的值 | |
checked | 当前是否勾选 | 默认false |
indeterminate | 设置indeterminate状态,只负责样式控制 | 默认false |
label | 选中状态的值(只有在checkbox-group或者绑定对象类型为array时有效) | label="string|number|boolean" |
checkbox-group | ||
min | 可被勾选的checkbox最小数量 | min="number" |
max | 可被勾选的checkbox最大数量 | max="number |
- <template>
- <el-checkbox-group v-model="checkedList">
- <el-checkbox label="1">A</el-checkbox>
- <el-checkbox label="2">B</el-checkbox>
- </el-checkbox-group>
- <div>你选择{{checkedList}}</div>
- </template>
- <script>
- export default{
- data(){
- return{
- checkedList:[]
- }
- }
- }
- </script>

边框样式 | |
border: 1px solid var(--el-border-color) | ![]() |
border: 1px dashed var(--el-border-color) | ![]() |
圆角 | |
阴影 | |
格式:
- <el-container> //外层容器
- <el-header></el-header> //顶栏容器
- <el-aside></el-aside> //侧边栏容器
- <el-main></el-main> //主要区域容器
- <el-footer></el-footer> //底栏容器
- </el-container>
必须被外层容器包裹,子元素与<el-header>和<el-footer>垂直分布,其他都水平分布
Container Attributes
direction | 子元素的排列方向 | direction="vertical|horizontal" | 子元素中有<el-header>或<el-footer>为vertical,否则为horizontal |
Header Attributes
height | 顶栏高度 | height="number px" | 默认60px |
Aside Attributes
width | 侧边栏宽度 | width="number px" | 默认300px |
Footer Attributes
height | 底栏高度 | height="number px | 默认60px |
1.安装包
npm install @element-plus/icons-vue
2.注册图标,导入全局变量
在main.js中添加
// 如果您正在使用CDN引入,请删除下面一行。 import * as ElementPlusIconsVue from '@element-plus/icons-vue' const app = createApp(App) for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) }浏览器引入
<script src="//unpkg.com/@element-plus/icons-vue"></script>
3.用法
<template> //不从父级获取属性 | ![]() | 与<e-icon>结合,可以在<e-icon>中添加样式color|type|class|style等 |
直接使用SVG图标 | ||
<Edit style="width: 1em; height: 1em; margin-right: 8px" /> | ![]() | SVG图标需要提供图标 |
通过24分栏,迅速简便的创建布局
格式:
- <el-row >
- <el-col :span="">...</el-col>
- </el-row>
Row Attributes
gutter | 栅格间隔 | :gutter="number" | 默认为0 |
type | 布局模式,可选flex,可通过justify来定义子元素排版方式 | type="flex" | |
justify | flex布局下的水平排列方式 | justift="start|end|center|space-around|space-between | 默认start |
align | flex布局下的垂直排列方式 | align="top|midlle|bottom | 默认top |
tag | 自定义元素标签 | 默认div |
Col Attributes
span | 栅格占列数 | :span="number" | 默认24(最大值) |
offset | 栅格左侧偏移的栏数 | :offset="number" | 默认0 |
push | 栅格向右移动的格数 | :push="number" | 默认0 |
pull | 栅格向左移动的格数 | :pull="number" | 默认0 |
xs|sm|md|lg|xl | |||
tag | 自定义元素标签 | 默认div |
<el-link href="https://element.eleme.io" target="_blank">default</el-link> | ![]() | <el-link>..</el-link> |
禁用状态 | 添加disabled属性 | |
取消下划线 | ||
<el-link :underline="false">..</el-link> | 添加 :underline="flase" | |
图标链接 | ||
<el-link :icon="Edit">Edit</el-link> | ![]() | js添加: import { Edit } from '@element-plus/icons-vue' |
Scrollbar
<el-scrollbar height="400px">{需要添加滚动条的内容}</el-scrollbar> | 垂直滚动 | 通过height属性设置滚动条区域显示高度,若不设置则根据父容器高度自适应 只有当滚动的元素高度大于滚动显示高度才会显示垂直滚动 |
横向滚动 | 当滚动的元素宽度大于滚动显示宽度,就会显示横向滚动 | |
手动滚动 | 使用setScrollTop和setScrollLeft方法实现手动控制滚动条滚动 | |
API | ||
属性: height(滚动显示高度) max-height(滚动显示最大高度) native(是否使用原生滚条样式,默认false) wrap-style(包裹容器的定义样式) wrap-class(包裹容器的类名) view-style(视图的自定义样式) noresize(不响应容器尺寸变化,默认false) tag(视图的元素标签,默认div) alw(滚动条总是显示,默认false) min-size(滚动条最小尺寸,默认20) | 事件: scroll(当触动滚动事件时,返回滚动的距离) 插槽: default(自定义默认内容) | 对外暴露的方法: handleScroll(触发滚动事件) scrollTo(滚动到一组特定坐标) setScrollTop(设置滚动条到顶部的距离) setScrollLeft(设置滚动条到左边的距离) update(手动更新滚动条状态) wrapRef(滚动条包裹的 ref 对象) |
update | 手动更新滚动条状态 | |
handleScroll | 触发滚动事件 | Function |
scrollTo | 滚动到一组特定坐标 | Function |
setScrollTop | 设置滚动条到顶部的距离 | Function |
setScrollLeft | 设置滚动条到左边的距离 | Function |
update | 手动更新滚动条状态 | Function |
wrapRef | 滚动条包裹的 ref 对象 | Object |
<el-space wrap>{需要统一间距的多个组件}</el-space> | |||
direction | <el-space direction="vertical">...</el-space> | 垂直布局 | direction="vertical" 相当于添加wrap换行 (direction="horizontal" 水平分布) |
size | 控制间距大小 | :size=“samll(8px)| default(12px)| large(16px)| 自定义” | |
wrap | <el-space wrap>...</el-space> | 自动换行 | |
spacer | <el-space spacer="{用来分隔的字符}">... </el-space> | 字母数字类型分隔符 | spacer=“{可以是数字、字母、VNode类型字符}” |
alignment | <el-space alignment=" ">{多个子节点}</el-space> | 对齐 | alignment="flex-start | center | flex_end"(默认center) (容器中子节点的对齐方式) |
fill / fillRatio | //自动填充 <el-space :fill=" ">{多个子节点}</el-space> //自定义填充的比例 <el-space :fillRatio=" ">{多个子节点}</el-space> | 填充容器 | :fill="false(默认)| true" 子节点是否自动适配容器的宽度 :fillRatio=" {数字} " (默认100,代表基于父容器宽度的100%填充) |
class | 类名 | ||
prefix-cls | 给space-items的类名前缀 | prefix-cls="el-space" | |
style | 样式 |
<el-config-provider>...</el-config-provider> | |||
locale | <template> <script setup> </script> | 翻译文本对象 | 1.:locale="{组件中的所有语言}" 2.需要在js中引用所选语言( import zhCN from 'element-plus/dist/locale/{语言名}.mjs') 3.只能翻译组件中存在的内容 |
button | <template> <script lang="ts" setup> const config = reactive({ | 是否自动在按钮中中文字符间插入空格 | button属性: 参数:autoInsertSpace(默认值为false) |
message | <template> <script lang="ts" setup> | 可以同时显示消息的最大数量 | Message属性: 参数max |
size | 全局组件大小 | ||
zIndex | 全局初始化zIndex值 | number |
- <template>
- <el-autocomplete
- v-model="state"
- :fetch-suggestions="querySearch"
- clearable
- class="inline-input w-50"
- placeholder="Please Input"
- @select="handleSelect"
- />
-
- </template>
-
- <script lang="ts" setup>
- import { onMounted, ref } from 'vue'
-
- interface RestaurantItem {
- value: string
- link: string
- }
-
- const state = ref('')
-
- const restaurants = ref<RestaurantItem[]>([])
- const querySearch = (queryString: string, cb: any) => {
- const results = queryString
- ? restaurants.value.filter(createFilter(queryString))
- : restaurants.value
- // call callback function to return suggestions
- cb(results)
- }
- const createFilter = (queryString: string) => {
- return (restaurant: RestaurantItem) => {
- return (
- restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0
- )
- }
- }
- const loadAll = () => {
- return [
- { value: 'vue', link: 'https://github.com/vuejs/vue' },
- { value: 'element', link: 'https://github.com/ElemeFE/element' },
- { value: 'cooking', link: 'https://github.com/ElemeFE/cooking' },
- { value: 'mint-ui', link: 'https://github.com/ElemeFE/mint-ui' },
- { value: 'vuex', link: 'https://github.com/vuejs/vuex' },
- { value: 'vue-router', link: 'https://github.com/vuejs/vue-router' },
- { value: 'babel', link: 'https://github.com/babel/babel' },
- ]
- }
-
- const handleSelect = (item: RestaurantItem) => {
- console.log(item)
- }
-
- onMounted(() => {
- restaurants.value = loadAll()
- })
- </script>

属性 | |||
placeholder | placeholder="文本" | 占位文本 | 表单中显示的内容 |
clearable | 是否可清空 | 默认false | |
disabled | 自动补全组件是否被禁用 | 默认false | |
value-key | 输入建议对象中用于显示的键名 | ||
model-value / v-model | 选中项绑定值 | ||
debounce | 获取输入建议的防抖延时,单位为毫秒 | 默认300 | |
placement | 菜单弹出位置 | 默认bottom-start | |
fetch-suggestions | 获取输入建议的方法, 仅当你的输入建议数据 resolve 时,通过调用 callback(data:[]) 来返回它 | ||
popper-class | 下拉列表的类名 | ||
trigger-on-focus | :trigger-on-focus="true|false" | 点击表单的时候会不会显示输入建议 | 默认true |
name | 等价于原生 input name属性 | ||
select-when-unmatched | 在输入没有任何匹配建议的情况下,按下回车是否触发select事件 | 默认false | |
label | 输入框关联的 label 文字 | ||
hide-loading | 是否隐藏远程加载时的加载图标 | false | |
popper-append-to-body(deprecated) | 是否将下拉列表插入至 body 元素。 在下拉列表的定位出现问题时,可将该属性设置为 false | 默认false | |
teleported | 是否将下拉列表元素插入 append-to 指向的元素下 | 默认true | |
highlight-first-item | 是否默认高亮远程搜索结果的第一项 | 默认false | |
highlight-first-item | 是否默认高亮远程搜索结果的第一项 | 默认false | |
fit-input-width | 下拉框的宽度是否与输入框相同 | 默认false | |
事件 | |||
select | 点击选中建议项时触发 | ||
change | 在 Input 值改变时触发 | ||
插槽 | |||
default | 自定义输入建议的内容。 自定义标签,参数为 | ||
prefix | 输入框头部内容 | ||
suffix | 输入框尾部内容 | ||
prepend | 输入框前置内容,在 prefix 之前 | ||
append | 输入框后置内容,在 suffix 之后 | ||
对外暴露成员 | |||
activated | 自动补全输入框是否被激活 | 对象 | |
blur | 使 input 失去焦点 | ||
close | 折叠建议列表 | ||
focus | 使 input 获取焦点 | ||
handleSelect | 手动触发选中建议事件 | ||
handleKeyEnter | 手动触发键盘回车事件 | ||
highlightedIndex | 当前高亮显示选项的索引 | ||
highlight | 在建议中高亮显示一个项目 | ||
inputRef | el-input 组件实例 | ||
loading | 远程获取提示内容的加载状态指示器 | ||
popperRef | el-tooltip 组件实例 | ||
suggestions | suggestions |
属性 | |||
model-value / v-model | 选中项绑定值 | ||
options | 可选项数据源,键名可通过Props属性配置 | ||
props | :props=" " | expandTrigger:'hover|click(默认)' 次级菜单的展开方式(click点击展开,hover鼠标放在上面就展开) | <el-cascader :options="options" :props="props" @change="handleChange" <script> const props = { </script> |
multiple 是否多选 | |||
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。