Virtualized Select

TIP

Este componente todavía está en pruebas, si encuentra algún error o problema, por favor infórmenos en GitHub para que lo arreglemos.

Fondo

En algunos casos de uso, un selector puede terminar cargando decenas de miles de filas de datos. Renderizar esa cantidad de datos en el DOM podría ser una carga para el navegador, lo que puede resultar en problemas de rendimiento. Para una mejor experiencia de usuario y desarrollador, decidimos añadir este componente.

Uso Básico

El selector más simple

Please select
Please select
Please select

Selección múltiple

El selector básico de selección múltiple con etiquetas

Please select

Ocultar etiquetas extra cuando los elementos seleccionados son demasiados.

Puede colapsar las etiquetas a un texto usando el atributo collapse-tags. Puede comprobarlos cuando el ratón pasa el cursor sobre el texto usando el atributo collapse-tags-tooltip.

use collapse-tags

Please select

use collapse-tags-tooltip

Please select

use max-collapse-tags

Please select

Selección múltiple filtrable

Cuando las opciones son demasiado grandes, puedes usar la opción filterable para habilitar la función de filtro para encontrar la opción deseada

Please select

Deshabilitar el selector y las opciones de selección

Puede elegir desactivar el selector en sí mismo o la opción.

Please select
Please select

Grupo de opciones

Podemos agrupar la opción como quiera, siempre y cuando los datos satisfagan el patrón.

Please select

Limpiando el selector

Podemos borrar todas las opciones seleccionadas a la vez, también aplicables para una única selección.

Please select
Please select

Personalizar las opciones de renderizado

Podemos definir nuestra propia plantilla para renderizar la opción en la ventana emergente.

Please select

Header of the dropdown 2.5.2

You can customize the header of the dropdown.

Use slot to customize the content.

Select

You can customize the footer of the dropdown.

Use slot to customize the content.

Select

Crear nuevos ítems

Crear y seleccionar nuevos elementos que no están incluidos en las opciones de selección

Al usar el atributo allow-create, los usuarios pueden crear nuevos elementos escribiendo en el cuadro de entrada. Tenga en cuenta que para que allow-create funcione, filterable debe ser true.

TIP

Es mejor establecer :reserve-keyword="false" cuando se use allow-create

Please select
Please select

set reserve-keyword false

Please select

Búsqueda remota

Introduzca palabras clave y datos de búsqueda desde el servidor.

Establezca el valor de filterable y remote con true para habilitar la búsqueda remota, y deberá pasar el remote-method. remote-method es una función que se llama cuando el valor de entrada cambia, y su parámetro es el valor de entrada actual.

Please enter a keyword

Use value-key attribute

when options.value is an object, you should set a unique identity key name for value

TIP

Before 2.4.0, value-key was used both as the unique value of the selected object and as an alias for the value in options. Now value-key is only used as the unique value of the selected object, and the alias for the value in options is props.value.

Aliases for custom options 2.4.2

When your options format is different from the default format, you can customize the alias of the options through the props attribute

Please select

Custom Tag 2.5.0

You can customize tags.

Insert customized tags into the slot of el-select. collapse-tags, collapse-tags-tooltip, max-collapse-tags will not work.

Custom Loading 2.5.2

Override loading content.

loading icon1

Please enter a keyword

loading icon2

Please enter a keyword

Empty Values 2.7.0

If you want to support empty string, please set empty-values to [null, undefined].

If you want to change the clear value to null, please set value-on-clear to null.

Custom Label 2.7.4

You can customize label.

: Option 1

API

Attributes

NombreDescripciónTipoPor defecto
model-value / v-modelbinding valuestring / number / boolean / object / array
optionsdata of the options, the key of value and label can be customize by propsarray
props 2.4.2configuration options, see the following tableobject
multipleis multiplebooleanfalse
disabledis disabledbooleanfalse
value-keyunique identity key name for value, required when value is an objectstringvalue
sizesize of componentenum''
clearablewhether select can be clearedbooleanfalse
clear-iconcustom clear iconstring / objectCircleClose
collapse-tagswhether to collapse tags to a text when multiple selectingbooleanfalse
multiple-limitmaximum number of options user can select when multiple is true. No limit when set to 0number0
namethe name attribute of select inputstring
effecttooltip theme, built-in theme: dark / lightenum / stringlight
autocompleteautocomplete of select inputstringoff
placeholderplaceholderstringPlease select
filterableis filterablebooleanfalse
allow-createwhether creating new items is allowed. To use this, filterable must be truebooleanfalse
filter-methodcustom filter methodFunction
loadingwhether Select is loading data from serverbooleanfalse
loading-textdisplayed text while loading data from server, default is 'Loading'string
reserve-keywordwhether reserve the keyword after select filtered option.booleantrue
no-match-textdisplayed text when no data matches the filtering query, you can also use slot empty, default is 'No matching data'string
no-data-textdisplayed text when there is no options, you can also use slot emptystringNo Data
popper-classcustom class name for Select's dropdownstring''
teleportedwhether select dropdown is teleported, if true it will be teleported to where append-to setsbooleantrue
append-to 2.8.8which element the select dropdown appends tostring
persistentwhen select dropdown is inactive and persistent is false, select dropdown will be destroyedbooleantrue
popper-optionspopper.js parametersobjectrefer to popper.js doc{}
automatic-dropdownfor non-filterable Select, this prop decides if the option menu pops up when the input is focusedbooleanfalse
heightThe height of the dropdown panel, 34px for each itemnumber274
item-heightThe height of the dropdown itemnumber34
scrollbar-always-onControls whether the scrollbar is always displayedbooleanfalse
remotewhether search data from serverbooleanfalse
remote-methodfunction that gets called when the input value changes. Its parameter is the current input value. To use this, filterable must be trueFunction
validate-eventwhether to trigger form validationbooleantrue
offset 2.8.8offset of the dropdownnumber12
show-arrow 2.8.8whether the dropdown has an arrowbooleantrue
placementposition of dropdownenumbottom-start
fallback-placements 2.5.6list of possible positions for dropdown popper.jsarray['bottom-start', 'top-start', 'right', 'left']
collapse-tags-tooltip 2.3.0whether show all selected tags when mouse hover text of collapse-tags. To use this, collapse-tags must be truebooleanfalse
max-collapse-tags 2.3.0The max tags number to be shown. To use this, collapse-tags must be truenumber1
tag-type 2.5.0tag typeenuminfo
tag-effect 2.7.7tag effectenumlight
aria-label a11y 2.5.0same as aria-label in native inputstring
empty-values 2.7.0empty values of component, see config-providerarray
value-on-clear 2.7.0clear return value, see config-providerstring / number / boolean / Function
popper-append-to-body deprecatedwhether to append the popper menu to body. If the positioning of the popper is wrong, you can try to set this prop to falsebooleanfalse

props

AttributeDescripciónTypeDefault
valuespecify which key of node object is used as the node's valuestringvalue
labelspecify which key of node object is used as the node's labelstringlabel
optionsspecify which key of node object is used as the node's childrenstringoptions
disabledspecify which key of node object is used as the node's disabledstringdisabled

Events

NombreDescripciónType
changetriggers when the selected value changes, the param is current selected valueFunction
visible-changetriggers when the dropdown appears/disappears, the param will be true when it appears, and false otherwiseFunction
remove-tagtriggers when a tag is removed in multiple mode, the param is removed tag valueFunction
cleartriggers when the clear icon is clicked in a clearable SelectFunction
blurtriggers when Input blursFunction
focustriggers when Input focusesFunction

Slots

NameDescription
defaultOption renderer
header 2.5.2content at the top of the dropdown
footer 2.5.2content at the bottom of the dropdown
emptycontent when options is empty
prefixprefix content of input
tag 2.5.0content as Select tag
loading 2.5.2content as Select loading
label 2.7.4content as Select label

Exposes

NameDescriptionType
focusfocus the Input componentFunction
blurblur the Input component, and hide the dropdownFunction
selectedLabel 2.8.5get the currently selected labelobject

Fuente

ComponentesStyleDocumentación

Contribuidores