Class GeneratedVaadinSelect<R extends GeneratedVaadinSelect<R,T>,T>
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.AbstractField<C,T>
-
- com.vaadin.flow.component.AbstractSinglePropertyField<R,T>
-
- com.vaadin.flow.component.select.generated.GeneratedVaadinSelect<R,T>
-
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.BlurNotifier<R>,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.Focusable<R>,com.vaadin.flow.component.FocusNotifier<R>,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasEnabled,com.vaadin.flow.component.HasStyle,com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<R,T>,T>,com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<R,T>,T>,Serializable
- Direct Known Subclasses:
Select
@Tag("vaadin-select") @NpmPackage(value="@vaadin/polymer-legacy-adapter",version="23.1.9") @NpmPackage(value="@vaadin/select",version="23.1.9") @NpmPackage(value="@vaadin/vaadin-select",version="23.1.9") @JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/select/src/vaadin-select.js") @JsModule("@vaadin/polymer-legacy-adapter/template-renderer.js") public abstract class GeneratedVaadinSelect<R extends GeneratedVaadinSelect<R,T>,T> extends com.vaadin.flow.component.AbstractSinglePropertyField<R,T> implements com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.Focusable<R>Description copied from corresponding location in WebComponent:
<vaadin-select>is a Web Component for selecting values from a list of items. The content of the the select can be populated in two ways: imperatively by using renderer callback function and declaratively by using Polymer's Templates.Rendering
By default, the select uses the content provided by using the renderer callback function.
The renderer function provides
root,selectarguments. Generate DOM content, append it to therootelement and control the state of the host element by accessingselect.<vaadin-select id="select"></vaadin-select>
const select = document.querySelector('#select');select.renderer = function(root, select) const listBox = document.createElement('vaadin-list-box'); // append 3 <vaadin-item> elements ['Jose', 'Manolo', 'Pedro'].forEach(function(name) { const item = document.createElement('vaadin-item'); item.textContent = name; listBox.appendChild(item); }); </p> <p> // update the content root.appendChild(listBox);;}Renderer is called on initialization of new select and on its opening. DOM generated during the renderer call can be reused in the next renderer call and will be provided with the
rootargument. On first call it will be empty.Polymer Templates
Alternatively, the content can be provided with Polymer's Template. Select finds the first child template and uses that in case renderer callback function is not provided. You can also set a custom template using the
templateproperty.<vaadin-select> <template> <vaadin-list-box> <vaadin-item label="foo">Foo</vaadin-item> <vaadin-item>Bar</vaadin-item> <vaadin-item>Baz</vaadin-item> </vaadin-list-box> </template> </vaadin-select>Hint: By setting the
labelproperty of inner vaadin-items you will be able to change the visual representation of the selected value in the input part.Styling
The following shadow DOM parts are available for styling:
Part name Description toggle-buttonThe toggle button The following state attributes are available for styling:
Attribute Description Part name openedSet when the select is open :host invalidSet when the element is invalid :host focusedSet when the element is focused :host focus-ringSet when the element is keyboard focused :host readonlySet when the select is read only :host <vaadin-select>element sets these custom CSS properties:Property name Description Theme for element --vaadin-select-text-field-widthWidth of the select text field vaadin-select-overlaySee ThemableMixin – how to apply styles for shadow parts
In addition to
<vaadin-select>itself, the following internal components are themable:<vaadin-select-text-field><vaadin-select-overlay>
Note: the
themeattribute value set on<vaadin-select>is propagated to the internal themable components listed above.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGeneratedVaadinSelect.InvalidChangeEvent<R extends GeneratedVaadinSelect<R,?>>static classGeneratedVaadinSelect.OpenedChangeEvent<R extends GeneratedVaadinSelect<R,?>>-
Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,V extends Object>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier
com.vaadin.flow.component.BlurNotifier.BlurEvent<C extends com.vaadin.flow.component.Component>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
com.vaadin.flow.component.FocusNotifier.FocusEvent<C extends com.vaadin.flow.component.Component>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
com.vaadin.flow.component.HasValue.ValueChangeEvent<V extends Object>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>>
-
-
Constructor Summary
Constructors Constructor Description GeneratedVaadinSelect()Default constructor.GeneratedVaadinSelect(T initialValue, T defaultValue, boolean acceptNullValues)Constructs a new GeneratedVaadinSelect component with the given arguments.GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, com.vaadin.flow.function.SerializableBiFunction<R,P,T> presentationToModel, com.vaadin.flow.function.SerializableBiFunction<R,T,P> modelToPresentation)Constructs a new GeneratedVaadinSelect component with the given arguments.GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, com.vaadin.flow.function.SerializableBiFunction<R,P,T> presentationToModel, com.vaadin.flow.function.SerializableBiFunction<R,T,P> modelToPresentation, boolean isInitialValueOptional)Constructs a new GeneratedVaadinSelect component with the given arguments.GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, com.vaadin.flow.function.SerializableFunction<P,T> presentationToModel, com.vaadin.flow.function.SerializableFunction<T,P> modelToPresentation)Constructs a new GeneratedVaadinSelect component with the given arguments.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.vaadin.flow.shared.RegistrationaddInvalidChangeListener(com.vaadin.flow.component.ComponentEventListener<GeneratedVaadinSelect.InvalidChangeEvent<R>> listener)Adds a listener forinvalid-changedevents fired by the webcomponent.protected com.vaadin.flow.shared.RegistrationaddOpenedChangeListener(com.vaadin.flow.component.ComponentEventListener<GeneratedVaadinSelect.OpenedChangeEvent<R>> listener)Adds a listener foropened-changedevents fired by the webcomponent.protected voidaddToPrefix(com.vaadin.flow.component.Component... components)Adds the given components as children of this component at the slot 'prefix'.protected StringgetErrorMessageString()Description copied from corresponding location in WebComponent:protected StringgetLabelString()Description copied from corresponding location in WebComponent:protected StringgetNameString()Description copied from corresponding location in WebComponent:protected StringgetPlaceholderString()Description copied from corresponding location in WebComponent:protected booleanisAutofocusBoolean()Description copied from corresponding location in WebComponent:protected booleanisDisabledBoolean()Description copied from corresponding location in WebComponent:protected booleanisInvalidBoolean()Description copied from corresponding location in WebComponent:protected booleanisOpenedBoolean()Description copied from corresponding location in WebComponent:protected booleanisReadonlyBoolean()Description copied from corresponding location in WebComponent:protected booleanisRequiredBoolean()Description copied from corresponding location in WebComponent:protected voidremove(com.vaadin.flow.component.Component... components)Removes the given child components from this component.protected voidremoveAll()Removes all contents from this component, this includes child components, text content as well as child elements that have been added directly to this component using theElementAPI.protected voidsetAutofocus(boolean autofocus)Description copied from corresponding location in WebComponent:protected voidsetDisabled(boolean disabled)Description copied from corresponding location in WebComponent:protected voidsetErrorMessage(String errorMessage)Description copied from corresponding location in WebComponent:protected voidsetInvalid(boolean invalid)Description copied from corresponding location in WebComponent:protected voidsetLabel(String label)Description copied from corresponding location in WebComponent:protected voidsetName(String name)Description copied from corresponding location in WebComponent:protected voidsetOpened(boolean opened)Description copied from corresponding location in WebComponent:protected voidsetPlaceholder(String placeholder)Description copied from corresponding location in WebComponent:protected voidsetReadonly(boolean readonly)Description copied from corresponding location in WebComponent:protected voidsetRequired(boolean required)Description copied from corresponding location in WebComponent:protected voidvalidate()Description copied from corresponding location in WebComponent:-
Methods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEvent
-
Methods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue, setValue, valueEquals
-
Methods inherited from class com.vaadin.flow.component.Component
addListener, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getLocale, getParent, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onAttach, onDetach, onEnabledStateChanged, scrollIntoView, set, setElement, setId, setVisible
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, focus, getTabIndex, setTabIndex
-
-
-
-
Constructor Detail
-
GeneratedVaadinSelect
public GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, com.vaadin.flow.function.SerializableFunction<P,T> presentationToModel, com.vaadin.flow.function.SerializableFunction<T,P> modelToPresentation)
Constructs a new GeneratedVaadinSelect component with the given arguments.- Type Parameters:
P- the property type- Parameters:
initialValue- the initial value to set to the valuedefaultValue- the default value to use if the value isn't definedelementPropertyType- the type of the element propertypresentationToModel- a function that converts a string value to a model valuemodelToPresentation- a function that converts a model value to a string value
-
GeneratedVaadinSelect
public GeneratedVaadinSelect(T initialValue, T defaultValue, boolean acceptNullValues)
Constructs a new GeneratedVaadinSelect component with the given arguments.- Parameters:
initialValue- the initial value to set to the valuedefaultValue- the default value to use if the value isn't definedacceptNullValues- whethernullis accepted as a model value
-
GeneratedVaadinSelect
public GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, com.vaadin.flow.function.SerializableBiFunction<R,P,T> presentationToModel, com.vaadin.flow.function.SerializableBiFunction<R,T,P> modelToPresentation)
Constructs a new GeneratedVaadinSelect component with the given arguments.- Type Parameters:
P- the property type- Parameters:
initialValue- the initial value to set to the valuedefaultValue- the default value to use if the value isn't definedelementPropertyType- the type of the element propertypresentationToModel- a function that accepts this component and a property value and returns a model valuemodelToPresentation- a function that accepts this component and a model value and returns a property value
-
GeneratedVaadinSelect
public GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, com.vaadin.flow.function.SerializableBiFunction<R,P,T> presentationToModel, com.vaadin.flow.function.SerializableBiFunction<R,T,P> modelToPresentation, boolean isInitialValueOptional)
Constructs a new GeneratedVaadinSelect component with the given arguments.If
isInitialValueOptionalistruethen the initial value is used only if element has no"value"property value, otherwise element"value"property is ignored and the initial value is set.- Type Parameters:
P- the property type- Parameters:
initialValue- the initial value to set to the valuedefaultValue- the default value to use if the value isn't definedelementPropertyType- the type of the element propertypresentationToModel- a function that accepts this component and a property value and returns a model valuemodelToPresentation- a function that accepts this component and a model value and returns a property valueisInitialValueOptional- ifisInitialValueOptionalistruethen the initial value is used only if element has no"value"property value, otherwise element"value"property is ignored and the initial value is set
-
GeneratedVaadinSelect
public GeneratedVaadinSelect()
Default constructor.
-
-
Method Detail
-
isAutofocusBoolean
protected boolean isAutofocusBoolean()
Description copied from corresponding location in WebComponent:
Specify that this control should have input focus when the page loads.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
- the
autofocusproperty from the webcomponent
-
setAutofocus
protected void setAutofocus(boolean autofocus)
Description copied from corresponding location in WebComponent:
Specify that this control should have input focus when the page loads.
- Parameters:
autofocus- the boolean value to set
-
isDisabledBoolean
protected boolean isDisabledBoolean()
Description copied from corresponding location in WebComponent:
If true, the user cannot interact with this element.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
- the
disabledproperty from the webcomponent
-
setDisabled
protected void setDisabled(boolean disabled)
Description copied from corresponding location in WebComponent:
If true, the user cannot interact with this element.
- Parameters:
disabled- the boolean value to set
-
isOpenedBoolean
@Synchronize(property="opened", value="opened-changed") protected boolean isOpenedBoolean()Description copied from corresponding location in WebComponent:
Set when the select is open
This property is synchronized automatically from client side when a 'opened-changed' event happens.
- Returns:
- the
openedproperty from the webcomponent
-
setOpened
protected void setOpened(boolean opened)
Description copied from corresponding location in WebComponent:
Set when the select is open
- Parameters:
opened- the boolean value to set
-
getErrorMessageString
protected String getErrorMessageString()
Description copied from corresponding location in WebComponent:
The error message to display when the select value is invalid
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
- the
errorMessageproperty from the webcomponent
-
setErrorMessage
protected void setErrorMessage(String errorMessage)
Description copied from corresponding location in WebComponent:
The error message to display when the select value is invalid
- Parameters:
errorMessage- the String value to set
-
getLabelString
protected String getLabelString()
Description copied from corresponding location in WebComponent:
String used for the label element.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
- the
labelproperty from the webcomponent
-
setLabel
protected void setLabel(String label)
Description copied from corresponding location in WebComponent:
String used for the label element.
- Parameters:
label- the String value to set
-
isRequiredBoolean
protected boolean isRequiredBoolean()
Description copied from corresponding location in WebComponent:
The current required state of the select. True if required.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
- the
requiredproperty from the webcomponent
-
setRequired
protected void setRequired(boolean required)
Description copied from corresponding location in WebComponent:
The current required state of the select. True if required.
- Parameters:
required- the boolean value to set
-
isInvalidBoolean
protected boolean isInvalidBoolean()
Description copied from corresponding location in WebComponent:
Set to true if the value is invalid.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
- the
invalidproperty from the webcomponent
-
setInvalid
protected void setInvalid(boolean invalid)
Description copied from corresponding location in WebComponent:
Set to true if the value is invalid.
- Parameters:
invalid- the boolean value to set
-
getNameString
protected String getNameString()
Description copied from corresponding location in WebComponent:
The name of this element.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
- the
nameproperty from the webcomponent
-
setName
protected void setName(String name)
Description copied from corresponding location in WebComponent:
The name of this element.
- Parameters:
name- the String value to set
-
getPlaceholderString
protected String getPlaceholderString()
Description copied from corresponding location in WebComponent:
A hint to the user of what can be entered in the control. The placeholder will be displayed in the case that there is no item selected, or the selected item has an empty string label, or the selected item has no label and it's DOM content is empty.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
- the
placeholderproperty from the webcomponent
-
setPlaceholder
protected void setPlaceholder(String placeholder)
Description copied from corresponding location in WebComponent:
A hint to the user of what can be entered in the control. The placeholder will be displayed in the case that there is no item selected, or the selected item has an empty string label, or the selected item has no label and it's DOM content is empty.
- Parameters:
placeholder- the String value to set
-
isReadonlyBoolean
protected boolean isReadonlyBoolean()
Description copied from corresponding location in WebComponent:
When present, it specifies that the element is read-only.
This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
- the
readonlyproperty from the webcomponent
-
setReadonly
protected void setReadonly(boolean readonly)
Description copied from corresponding location in WebComponent:
When present, it specifies that the element is read-only.
- Parameters:
readonly- the boolean value to set
-
validate
@NotSupported protected void validate()
Description copied from corresponding location in WebComponent:
Returns true if
valueis valid, and sets theinvalidflag appropriately.This function is not supported by Flow because it returns a
boolean. Functions with return types different than void are not supported at this moment.
-
addOpenedChangeListener
protected com.vaadin.flow.shared.Registration addOpenedChangeListener(com.vaadin.flow.component.ComponentEventListener<GeneratedVaadinSelect.OpenedChangeEvent<R>> listener)
Adds a listener foropened-changedevents fired by the webcomponent.- Parameters:
listener- the listener- Returns:
- a
Registrationfor removing the event listener
-
addInvalidChangeListener
protected com.vaadin.flow.shared.Registration addInvalidChangeListener(com.vaadin.flow.component.ComponentEventListener<GeneratedVaadinSelect.InvalidChangeEvent<R>> listener)
Adds a listener forinvalid-changedevents fired by the webcomponent.- Parameters:
listener- the listener- Returns:
- a
Registrationfor removing the event listener
-
addToPrefix
protected void addToPrefix(com.vaadin.flow.component.Component... components)
Adds the given components as children of this component at the slot 'prefix'.- Parameters:
components- The components to add.- See Also:
- MDN page about slots, Spec website about slots
-
remove
protected void remove(com.vaadin.flow.component.Component... components)
Removes the given child components from this component.- Parameters:
components- The components to remove.- Throws:
IllegalArgumentException- if any of the components is not a child of this component.
-
removeAll
protected void removeAll()
Removes all contents from this component, this includes child components, text content as well as child elements that have been added directly to this component using theElementAPI.
-
-