element-ui
Layout布局
通过基础的24分栏迅速便捷创建布局
基础布局
通过 row 和 col 组件,并通过 col 组件的 span
属性我们就可以自由地组合布局。
1 | <el-row> |
分栏间隔
Row 组件 提供 gutter
属性来指定每一栏之间的间隔,默认间隔为 0。
1 | <el-row :gutter="20"> |
意味着该行每个模块间隔为均为20px
分栏偏移
支持偏移指定的栏数。
通过制定 col 组件的 offset
属性可以指定分栏偏移的栏数。
1 | <el-col :span="8"> |
意味着第二个el-col
向右 8/24
对其方式
通过 flex
布局来对分栏进行灵活的对齐。
将 type
属性赋值为 ‘flex’,可以启用 flex 布局,并可通过 justify
属性来指定 start, center, end, space-between, space-around 其中的值来定义子元素的排版方式。
1 | <el-row type="flex" class="row-bg" justify="center"> |
start
左对齐(默认)center
竖直居中end
右对齐space-between
左右两边不留空隙,空间平分space-around
全平分,左右两边也留空隙
响应式布局
预设了五个响应尺寸:xs
、sm
、md
、lg
和 xl
。用法与 :span
一样,表示在不同尺寸页面上如何显示
名称 | 尺寸 |
---|---|
xs | <768px(也就是手机) |
sm | >=768px |
md | >=992px |
lg | >=1200px |
xl | >=1920px |
示例:宽屏页面时内容仅仅占页面宽50%居中显示。窄屏幕时占70%,手机时占100%。
1 | <el-row :gutter="10"> |
基于断点的隐藏类
Element 额外提供了一系列类名,用于在某些条件下隐藏元素。这些类名可以添加在任何 DOM 元素或自定义组件上。如果需要,请自行引入以下文件:
1 | import 'element-ui/lib/theme-chalk/display.css'; |
包含的类名及其含义为:(使用class=”name”进行使用)
hidden-xs-only
- 当视口在xs
尺寸时隐藏hidden-sm-only
- 当视口在sm
尺寸时隐藏hidden-sm-and-down
- 当视口在sm
及以下尺寸时隐藏hidden-sm-and-up
- 当视口在sm
及以上尺寸时隐藏hidden-md-only
- 当视口在md
尺寸时隐藏hidden-md-and-down
- 当视口在md
及以下尺寸时隐藏hidden-md-and-up
- 当视口在md
及以上尺寸时隐藏hidden-lg-only
- 当视口在lg
尺寸时隐藏hidden-lg-and-down
- 当视口在lg
及以下尺寸时隐藏hidden-lg-and-up
- 当视口在lg
及以上尺寸时隐藏hidden-xl-only
- 当视口在xl
尺寸时隐藏
总结
Row Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
gutter | 栅格间隔 | number | — | 0 |
type | 布局模式,可选 flex,现代浏览器下有效 | string | — | — |
justify | flex 布局下的水平排列方式 | string | start/end/center/space-around/space-between | start |
align | flex 布局下的垂直排列方式 | string | top/middle/bottom | top |
tag | 自定义元素标签 | string | * | div |
Col Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
span | 栅格占据的列数 | number | — | 24 |
offset | 栅格左侧的间隔格数 | number | — | 0 |
push | 栅格向右移动格数 | number | — | 0 |
pull | 栅格向左移动格数 | number | — | 0 |
xs | <768px 响应式栅格数或者栅格属性对象 | number/object (例如: {span: 4, offset: 4}) | — | — |
sm | ≥768px 响应式栅格数或者栅格属性对象 | number/object (例如: {span: 4, offset: 4}) | — | — |
md | ≥992px 响应式栅格数或者栅格属性对象 | number/object (例如: {span: 4, offset: 4}) | — | — |
lg | ≥1200px 响应式栅格数或者栅格属性对象 | number/object (例如: {span: 4, offset: 4}) | — | — |
xl | ≥1920px 响应式栅格数或者栅格属性对象 | number/object (例如: {span: 4, offset: 4}) | — | — |
tag | 自定义元素标签 | string | * | div |
Container布局容器
<el-container>
外层容器,当子元素中包含<el-header>
或者<el-footer>
时,全部子元素会垂直上下排列,否则会水平左右排列
<el-header>
顶栏容器
<el-footer>
底栏容器
<el-aside>
侧栏容器
<el-main>
主要区域容器
以上组件采用了 flex 布局,此外,<el-container>
的子元素只能是后四者,后四者的父元素也只能是 <el-container>
总结
Container Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
direction | 子元素的排列方向 | string | horizontal / vertical | 子元素中有 el-header 或 el-footer 时为 vertical,否则为 horizontal |
Header Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
height | 顶栏高度 | string | — | 60px |
Aside Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
width | 侧边栏宽度 | string | — | 300px |
Footer Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
height | 底栏高度 | string | — | 60px |
Color色彩
1 | 蓝 type="primary" |
Typography字体
引入字体
1 | font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; |
字体使用规范
主标题 | 用 Element 快速搭建页面 | 20px Extra large |
---|---|---|
标题 | 用 Element 快速搭建页面 | 18px large |
小标题 | 用 Element 快速搭建页面 | 16px Medium |
正文 | 用 Element 快速搭建页面 | 14px Small |
正文(小) | 用 Element 快速搭建页面 | 13px Extra Small |
辅助文字 | 用 Element 快速搭建页面 | 12px Extra Extra Small |
Icon图标
直接引用类名即可使用class="name"
Button按钮
默认样式按钮
1 | <el-row> |
简介按钮
plain
1 | <el-row> |
圆角按钮
把默认样式按钮加上了圆角round
1 | <el-row> |
图标按钮
朴素按钮样式,图标代替文字,变成圆形
circle
1 | <el-row> |
禁用按钮
disabled
1 | <el-button disabled>朴素按钮</el-button> |
文字按钮
没有边框和背景色的按钮。
1 | <el-button type="text">文字按钮</el-button> |
按钮组
以按钮组的方式出现,常用于多项类似操作。<el-button-group>
1 | <el-button-group> |
加载中
点击按钮后进行数据加载操作,在按钮上显示加载状态。:loading="true"
1 | <el-button type="primary" :loading="true">加载中</el-button> |
不同尺寸
额外的尺寸:medium
、small
、mini
,通过设置size
属性来配置它们。
1 | <el-row> |
总结
Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
size | 尺寸 | string | medium / small / mini | — |
type | 类型 | string | primary / success / warning / danger / info / text | — |
plain | 是否朴素按钮 | boolean | — | false |
round | 是否圆角按钮 | boolean | — | false |
circle | 是否圆形按钮 | boolean | — | false |
loading | 是否加载中状态 | boolean | — | false |
disabled | 是否禁用状态 | boolean | — | false |
icon | 图标类名 | string | — | — |
autofocus | 是否默认聚焦 | boolean | — | false |
native-type | 原生 type 属性 | string | button / submit / reset | button |
Radio单选框
基础用法
由于选项默认可见,不宜过多,若选项过多,建议使用 Select 选择器。
选项默认横向排列
要使用 Radio 组件,只需要设置v-model
绑定变量,选中意味着变量的值为相应 Radio label
属性的值,label
可以是String
、Number
或Boolean
。
1 | <el-radio v-model="v" label="1">1</el-radio> |
1 | data() { |
禁用状态
单选框不可用的状态,只要在el-radio
元素中设置disabled
属性即可,它接受一个Boolean
,true
为禁用。用法与el-button
中disabled
用法一样
1 | <el-radio v-model="v" label="禁用" disabled>1</el-radio> |
1 | data() { |
单选框组
结合el-radio-group
元素和子元素el-radio
可以实现单选组,在el-radio-group
中绑定v-model
,在el-radio
中设置好label
即可,无需再给每一个el-radio
绑定变量,另外,还提供了change
事件(**@change**)来响应变化,它会传入一个参数value
。
1 | <el-radio-group v-model="v"> |
1 | data() { |
按钮样式
按钮样式的单选组合。只需要变成el-radio-button
即可,此外,Element 还提供了size
属性,size
属性用在el-radio-group
上。
边框
设置border
属性可以渲染为带有边框的单选框。
1 | <el-radio v-model="v" label="1" border>1</el-radio> |
该属性不能用于单选框组el-radio-group
总结
Radio Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
label | Radio 的 value | string / number / boolean | — | — |
disabled | 是否禁用 | boolean | — | false |
border | 是否显示边框 | boolean | — | false |
size | Radio 的尺寸,仅在 border 为真时有效 | string | medium / small / mini | — |
name | 原生 name 属性 | string | — | — |
Radio Events
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 绑定值变化时触发的事件 | 选中的 Radio label 值 |
Radio-group Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
size | 单选框组尺寸,仅对按钮形式的 Radio 或带有边框的 Radio 有效 | string | medium / small / mini | — |
disabled | 是否禁用 | boolean | — | false |
text-color | 按钮形式的 Radio 激活时的文本颜色 | string | — | #ffffff |
fill | 按钮形式的 Radio 激活时的填充色和边框色 | string | — | #409EFF |
Radio-group Events
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 绑定值变化时触发的事件 | 选中的 Radio label 值 |
Radio-button Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
label | Radio 的 value | string / number | — | — |
disabled | 是否禁用 | boolean | — | false |
name | 原生 name 属性 | string | — | — |
Checkbox多选框
基础用法
单独使用可以表示两种状态之间的切换,写在标签中的内容为 checkbox 按钮后的介绍。
在el-checkbox
元素中定义v-model
绑定变量,单一的checkbox
中,**默认绑定变量的值会是Boolean
,选中为true
**,即可以不用label
,只需v-model
对应的值为true
即可
1 | <el-checkbox v-model="v" label="1">1</el-checkbox> |
1 | data() { |
禁用状态
多选框不可用状态。设置disabled
属性即可。
多选框组
适用于多个勾选框绑定到同一个数组的情景,通过是否勾选来表示这一组选项中选中的项。
checkbox-group
元素能把多个 checkbox 管理为一组,只需要在 Group 中使用v-model
绑定Array
类型的变量即可。 el-checkbox
的 label
属性是该 checkbox 对应的值,若该标签中无内容,则该属性也充当 checkbox 按钮后的介绍。label
与数组中的元素值相对应,如果存在指定的值则为选中状态,否则为不选中。
1 | <el-checkbox-group v-model="checkList"> |
1 | data () { |
indeterminate 状态
indeterminate
属性用以表示 checkbox 的不确定状态,一般用于实现全选的效果。但是功能还要自己实现。
1 | <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox> |
可选项目数量的限制
使用 min
和 max
属性能够限制可以被勾选的项目的数量。
1 | <el-checkbox-group :min="1" :max="3"> |
按钮样式
按钮样式的多选组合。只需要把el-checkbox
元素替换为el-checkbox-button
元素即可。此外,Element 还提供了size
属性。size
属性用在el-checkbox-group
上
边框
设置border
属性可以渲染为带有边框的单选框。
1 | <el-checkbox v-model="v" label="1" border>1</el-radio> |
总结
Checkbox Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
label | 选中状态的值(只有在checkbox-group或者绑定对象类型为array时有效) | string / number / boolean | — | — |
true-label | 选中时的值 | string / number | — | — |
false-label | 没有选中时的值 | string / number | — | — |
disabled | 是否禁用 | boolean | — | false |
border | 是否显示边框 | boolean | — | false |
size | Checkbox 的尺寸,仅在 border 为真时有效 | string | medium / small / mini | — |
name | 原生 name 属性 | string | — | — |
checked | 当前是否勾选 | boolean | — | false |
indeterminate | 设置 indeterminate 状态,只负责样式控制 | boolean | — | false |
Checkbox Events
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 当绑定值变化时触发的事件 | 更新后的值 |
Checkbox-group Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
size | 多选框组尺寸,仅对按钮形式的 Checkbox 或带有边框的 Checkbox 有效 | string | medium / small / mini | — |
disabled | 是否禁用 | boolean | — | false |
min | 可被勾选的 checkbox 的最小数量 | number | — | — |
max | 可被勾选的 checkbox 的最大数量 | number | — | — |
text-color | 按钮形式的 Checkbox 激活时的文本颜色 | string | — | #ffffff |
fill | 按钮形式的 Checkbox 激活时的填充色和边框色 | string | — | #409EFF |
Checkbox-group Events
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 当绑定值变化时触发的事件 | 更新后的值 |
Checkbox-button Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
label | 选中状态的值(只有在checkbox-group或者绑定对象类型为array时有效) | string / number / boolean | — | — |
true-label | 选中时的值 | string / number | — | — |
false-label | 没有选中时的值 | string / number | — | — |
disabled | 是否禁用 | boolean | — | false |
name | 原生 name 属性 | string | — | — |
checked | 当前是否勾选 | boolean | — | false |
Input输入框
基础用法
与input
标签类似
1 | <el-input v-model="v" placeholder="内容"></el-input> |
禁用状态
通过 disabled
属性指定是否禁用 input 组件
disabled
与:disabled="true"
效果一样
1 | <el-input v-model="v" placeholder="内容" :disabled="true"></el-input> |
可清空
使用clearable
属性即可得到一个可清空的输入框(一键清空功能)
1 | <el-input v-model="v" placeholder="内容" :disabled="false" clearable></el-input> |
带 icon 的输入框
带有图标标记输入类型
可以通过 prefix-icon
和 suffix-icon
属性在 input 组件首部和尾部增加显示图标,也可以通过 slot(插槽) 来放置图标。
prefix-icon
首部suffix-icon
尾部
vue插槽(slot)详解 - 知乎 (zhihu.com)
1 | <el-input |
文本域
用于输入多行文本信息,通过将 type
属性的值指定为 textarea。
文本域高度可通过 rows
属性控制
1 | <el-input v-model="v1" type="textarea" :rows="2"></el-input> |
可自适应文本高度的文本域
通过设置 autosize
属性可以使得文本域的高度能够根据文本内容自动进行调整,并且 autosize
还可以设定为一个对象,指定最小行数和最大行数。
1 | <el-input v-model="v1" type="textarea" :autosize="{ maxRows: 4, minRows: 2}"></el-input> |
复合型输入框
可前置或后置元素,一般为标签或按钮
可通过 slot 来指定在 input 中前置或者后置内容。
1 | <el-input placeholder="请输入内容" v-model="input4"> |
尺寸
可通过 size
属性指定输入框的尺寸,除了默认的大小外,还提供了 medium、small 和 mini 三种尺寸。
1 | <el-input placeholder="请输入内容" size="small"> |
带输入建议
根据输入内容提供对应的输入建议
autocomplete 是一个可带输入建议的输入框组件,fetch-suggestions
是一个返回输入建议的方法属性,如 querySearch(queryString, cb),在该方法中你可以在你的输入建议数据准备好时通过 cb(data) 返回到 autocomplete 组件中。
:trigger-on-focus
意味是否在聚焦时显示建议,默认为true
1 | <div> |
自定义输入建议模板
可自定义输入建议的显示
使用scoped slot
自定义输入建议的模板。该 scope 的参数为item
,表示当前输入建议对象。
1 | <el-autocomplete |
总结
Input Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
type | 类型 | string | text,textarea 和其他 原生 input 的 type 值 | text |
value | 绑定值 | string / number | — | — |
maxlength | 原生属性,最大输入长度 | number | — | — |
minlength | 原生属性,最小输入长度 | number | — | — |
placeholder | 输入框占位文本 | string | — | — |
clearable | 是否可清空 | boolean | — | false |
disabled | 禁用 | boolean | — | false |
size | 输入框尺寸,只在 type!=”textarea”时有效 | string | medium / small / mini | — |
prefix-icon | 输入框头部图标 | string | — | — |
suffix-icon | 输入框尾部图标 | string | — | — |
rows | 输入框行数,只对 type=”textarea”有效 | number | — | 2 |
autosize | 自适应内容高度,只对 type=”textarea” 有效,可传入对象,如,{ minRows: 2, maxRows: 6 } | boolean / object | — | false |
auto-complete | 原生属性,自动补全 | string | on, off | off |
name | 原生属性 | string | — | — |
readonly | 原生属性,是否只读 | boolean | — | false |
max | 原生属性,设置最大值 | — | — | — |
min | 原生属性,设置最小值 | — | — | — |
step | 原生属性,设置输入字段的合法数字间隔 | — | — | — |
resize | 控制是否能被用户缩放 | string | none, both, horizontal, vertical | — |
autofocus | 原生属性,自动获取焦点 | boolean | true, false | false |
form | 原生属性 | string | — | — |
label | 输入框关联的label文字 | string | — | — |
tabindex | 输入框的tabindex | string | - | - |
Input Slots
name | 说明 |
---|---|
prefix | 输入框头部内容,只对 type=”text” 有效 |
suffix | 输入框尾部内容,只对 type=”text” 有效 |
prepend | 输入框前置内容,只对 type=”text” 有效 |
append | 输入框后置内容,只对 type=”text” 有效 |
Input Events
事件名称 | 说明 | 回调参数 |
---|---|---|
blur | 在 Input 失去焦点时触发 | (event: Event) |
focus | 在 Input 获得焦点时触发 | (event: Event) |
input | 在 Input 值改变时触发 | (value: string | number) |
clear | 在点击由 clearable 属性生成的清空按钮时触发 | — |
change | 仅在输入框失去焦点或用户按下回车时触发 | (value: string | number) |
Input Methods
方法名 | 说明 | 参数 |
---|---|---|
focus | 使 input 获取焦点 | — |
blur | 使 input 失去焦点 | — |
select | 选中 input 中的文字 | — |
Autocomplete Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
placeholder | 输入框占位文本 | string | — | — |
disabled | 禁用 | boolean | — | false |
value-key | 输入建议对象中用于显示的键名 | string | — | value |
value | 必填值,输入绑定值 | string | — | — |
debounce | 获取输入建议的去抖延时 | number | — | 300 |
placement | 菜单弹出位置 | string | top / top-start / top-end / bottom / bottom-start / bottom-end | bottom-start |
fetch-suggestions | 返回输入建议的方法,仅当你的输入建议数据 resolve 时,通过调用 callback(data:[]) 来返回它 | Function(queryString, callback) | — | — |
popper-class | Autocomplete 下拉列表的类名 | string | — | — |
trigger-on-focus | 是否在输入框 focus 时显示建议列表 | boolean | — | true |
name | 原生属性 | string | — | — |
select-when-unmatched | 在输入没有任何匹配建议的情况下,按下回车是否触发 select事件 | boolean | — | false |
label | 输入框关联的label文字 | string | — | — |
prefix-icon | 输入框头部图标 | string | — | — |
suffix-icon | 输入框尾部图标 | string | — | — |
hide-loading | 是否隐藏远程加载时的加载图标 | boolean | — | false |
popper-append-to-body | 是否将下拉列表插入至 body 元素。在下拉列表的定位出现问题时,可将该属性设置为 false | boolean | - | true |
Autocomplete Slots
name | 说明 |
---|---|
prefix | 输入框头部内容 |
suffix | 输入框尾部内容 |
prepend | 输入框前置内容 |
append | 输入框后置内容 |
Autocomplete Scoped Slot
name | 说明 |
---|---|
— | 自定义输入建议,参数为 { item } |
Autocomplete Events
事件名称 | 说明 | 回调参数 |
---|---|---|
select | 点击选中建议项时触发 | 选中建议项 |
Autocomplete Methods
方法名 | 说明 | 参数 |
---|---|---|
focus | 使 input 获取焦点 | - |
InputNumber计数器
仅允许输入标准的数字值,可定义范围
基础用法
要使用它,只需要在el-input-number
元素中使用v-model
绑定变量即可,变量的初始值即为默认值。
1 | <el-input-number v-model="v"></el-input-number> |
禁用状态
disabled
属性接受一个Boolean
,设置为true
即可禁用整个组件,如果你只需要控制数值在某一范围内,可以设置min
属性和max
属性,不设置min
和max
时,最小值为 0。
1 | <el-input-number v-model="v" min="0" max="10" :disabled="true"></el-input-number> |
步数
允许定义递增递减的步数控制
设置step
属性可以控制步长,接受一个Number
。
1 | <el-input-number v-model="v" min="0" max="10" step="2"></el-input-number> |
精度
设置 precision
属性可以控制数值精度,接收一个 Number
。
precision
的值必须是一个非负整数,并且不能小于 step
的小数位数。
1 | <el-input-number v-model="v" min="0" max="10" step="0.1" precision="2"></el-input-number> |
尺寸
额外提供了 medium
、small
、mini
三种尺寸的数字输入框
1 | <el-input-number v-model="v" size="mini"></el-input-number> |
按钮位置
设置 controls-position
属性可以控制按钮位置。
按钮上下分布且都在右侧
1 | <el-input-number v-model="v" size="mini" controls-position="right"></el-input-number> |
总结
Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
value | 绑定值 | number | — | — |
min | 设置计数器允许的最小值 | number | — | -Infinity |
max | 设置计数器允许的最大值 | number | — | Infinity |
step | 计数器步长 | number | — | 1 |
precision | 数值精度 | number | — | — |
size | 计数器尺寸 | string | medium, small,mini | — |
disabled | 是否禁用计数器 | boolean | — | false |
controls | 是否使用控制按钮 | boolean | — | true |
controls-position | 控制按钮位置 | string | right | - |
name | 原生属性 | string | — | — |
label | 输入框关联的label文字 | string | — | — |
Events
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 绑定值被改变时触发 | 最后变更的值 |
blur | 在组件 Input 失去焦点时触发 | (event: Event) |
focus | 在组件 Input 获得焦点时触发 | (event: Event) |
Methods
方法名 | 说明 | 参数 |
---|---|---|
focus | 使 input 获取焦点 | - |
Select选择器
当选项过多时,使用下拉菜单展示并选择内容。
基础用法
适用广泛的基础单选
v-model
的值为当前被选中的el-option
的 value 属性值
1 | <el-select v-model="v"> |
禁用
选项禁用
在el-option
中,设定disabled
值为 true,即可禁用该选项
1 | <el-select v-model="v"> |
不要调用函数,否则结果只是显示不可选,但是点击可选。
全部禁用
选择器不可用状态
为el-select
设置disabled
属性,则整个选择器不可用
可清空单选
包含清空按钮,可将选择器清空为初始状态
为el-select
设置clearable
属性,则可将选择器清空。需要注意的是,clearable
属性仅适用于单选。
1 | <el-select v-model="v" clearable> |
基础多选
适用性较广的基础多选,用 Tag 展示已选项
为el-select
设置multiple
属性即可启用多选,此时v-model
的值为当前选中值所组成的数组。默认情况下选中值会以 Tag 的形式展现,你也可以设置collapse-tags
属性将它们合并为一段文字。
collapse-tags
属性设置后只会显示第一个属性,其余的则是+n
标签,代表一共选了几个
1 | <el-select v-model="v" clearable multiple collapse-tags> |
自定义模板
可以自定义备选项
将自定义的 HTML 模板插入el-option
的 slot 中即可。
分组
备选项进行分组展示
使用el-option-group
对备选项进行分组,它的label
属性为分组名
1 | <el-select v-model="v" multiple collapse-tags> |
可搜索
可以利用搜索功能快速查找选项
为el-select
添加filterable
属性即可启用搜索功能。默认情况下,Select 会找出所有label
属性包含输入值的选项。如果希望使用其他的搜索逻辑,可以通过传入一个filter-method
来实现。filter-method
为一个Function
,它会在输入值发生变化时调用,参数为当前输入值。
1 | <el-select v-model="v" multiple collapse-tags filterable> |
创建条目
可以创建并选中选项中不存在的条目
使用allow-create
属性即可通过在输入框中输入文字来创建新的条目。注意此时filterable
必须为真。本例还使用了default-first-option
属性,在该属性打开的情况下,按下回车就可以选中当前选项列表中的第一个选项,无需使用鼠标或键盘方向键进行定位。
如果 Select 的绑定值为对象类型,请务必指定 value-key
作为它的唯一性标识。
1 | <el-select v-model="v" multiple collapse-tags filterable default-first-option allow-create> |
总结
Select Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
multiple | 是否多选 | boolean | — | false |
disabled | 是否禁用 | boolean | — | false |
value-key | 作为 value 唯一标识的键名,绑定值为对象类型时必填 | string | — | value |
size | 输入框尺寸 | string | medium/small/mini | — |
clearable | 单选时是否可以清空选项 | boolean | — | false |
collapse-tags | 多选时是否将选中值按文字的形式展示 | boolean | — | false |
multiple-limit | 多选时用户最多可以选择的项目数,为 0 则不限制 | number | — | 0 |
name | select input 的 name 属性 | string | — | — |
auto-complete | select input 的 autocomplete 属性 | string | — | off |
placeholder | 占位符 | string | — | 请选择 |
filterable | 是否可搜索 | boolean | — | false |
allow-create | 是否允许用户创建新条目,需配合 filterable 使用 | boolean | — | false |
filter-method | 自定义搜索方法 | function | — | — |
remote | 是否为远程搜索 | boolean | — | false |
remote-method | 远程搜索方法 | function | — | — |
loading | 是否正在从远程获取数据 | boolean | — | false |
loading-text | 远程加载时显示的文字 | string | — | 加载中 |
no-match-text | 搜索条件无匹配时显示的文字 | string | — | 无匹配数据 |
no-data-text | 选项为空时显示的文字 | string | — | 无数据 |
popper-class | Select 下拉框的类名 | string | — | — |
reserve-keyword | 多选且可搜索时,是否在选中一个选项后保留当前的搜索关键词 | boolean | — | false |
default-first-option | 在输入框按下回车,选择第一个匹配项。需配合 filterable 或 remote 使用 | boolean | - | false |
popper-append-to-body | 是否将弹出框插入至 body 元素。在弹出框的定位出现问题时,可将该属性设置为 false | boolean | - | true |
automatic-dropdown | 对于不可搜索的 Select,是否在输入框获得焦点后自动弹出选项菜单 | boolean | - | false |
Select Events
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 选中值发生变化时触发 | 目前的选中值 |
visible-change | 下拉框出现/隐藏时触发 | 出现则为 true,隐藏则为 false |
remove-tag | 多选模式下移除tag时触发 | 移除的tag值 |
clear | 可清空的单选模式下用户点击清空按钮时触发 | — |
blur | 当 input 失去焦点时触发 | (event: Event) |
focus | 当 input 获得焦点时触发 | (event: Event) |
Select Slots
name | 说明 |
---|---|
— | Option 组件列表 |
prefix | Select 组件头部内容 |
Option Group Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
label | 分组的组名 | string | — | — |
disabled | 是否将该分组下所有选项置为禁用 | boolean | — | false |
Option Attributes
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
value | 选项的值 | string/number/object | — | — |
label | 选项的标签,若不设置则默认与 value 相同 | string/number | — | — |
disabled | 是否禁用该选项 | boolean | — | false |
Methods
方法名 | 说明 | 参数 |
---|---|---|
focus | 使 input 获取焦点 | - |
blur | 使 input 失去焦点,并隐藏下拉框 | - |