com.vaadin.flow.component.select.generated.
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:
AttachNotifier
,BlurNotifier<R>
,DetachNotifier
,Focusable<R>
,FocusNotifier<R>
,HasElement
,HasEnabled
,HasStyle
,HasValue<AbstractField.ComponentValueChangeEvent<R,T>,T>
,HasValueAndElement<AbstractField.ComponentValueChangeEvent<R,T>,T>
,Serializable
Direct Known Subclasses:
@Tag("vaadin-select") @NpmPackage(value="@vaadin/polymer-legacy-adapter",version="23.1.15") @NpmPackage(value="@vaadin/select",version="23.1.15") @NpmPackage(value="@vaadin/vaadin-select",version="23.1.15") @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 AbstractSinglePropertyField<R,T> implements HasStyle, 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
,select
arguments. Generate DOM content, append it to theroot
element 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
root
argument. 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
template
property.<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
label
property 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-button
The toggle button The following state attributes are available for styling:
Attribute Description Part name opened
Set when the select is open :host invalid
Set when the element is invalid :host focused
Set when the element is focused :host focus-ring
Set when the element is keyboard focused :host readonly
Set 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-width
Width of the select text field vaadin-select-overlay
See 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
theme
attribute value set on<vaadin-select>
is propagated to the internal themable components listed above.See Also:
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GeneratedVaadinSelect.InvalidChangeEvent<R extends GeneratedVaadinSelect<R,?>>
static class
GeneratedVaadinSelect.OpenedChangeEvent<R extends GeneratedVaadinSelect<R,?>>
-
Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
AbstractField.ComponentValueChangeEvent<C extends Component,V>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier
BlurNotifier.BlurEvent<C extends Component>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
FocusNotifier.FocusEvent<C extends Component>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
HasValue.ValueChangeEvent<V>, HasValue.ValueChangeListener<E extends 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, SerializableBiFunction<R,P,T> presentationToModel, SerializableBiFunction<R,T,P> modelToPresentation)
Constructs a new GeneratedVaadinSelect component with the given arguments.
GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, SerializableBiFunction<R,P,T> presentationToModel, SerializableBiFunction<R,T,P> modelToPresentation, boolean isInitialValueOptional)
Constructs a new GeneratedVaadinSelect component with the given arguments.
GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, SerializableFunction<P,T> presentationToModel, SerializableFunction<T,P> modelToPresentation)
Constructs a new GeneratedVaadinSelect component with the given arguments.
-
Method Summary
All Methods Modifier and Type Method Description protected Registration
addInvalidChangeListener(ComponentEventListener<GeneratedVaadinSelect.InvalidChangeEvent<R>> listener)
Adds a listener for
invalid-changed
events fired by the webcomponent.protected Registration
addOpenedChangeListener(ComponentEventListener<GeneratedVaadinSelect.OpenedChangeEvent<R>> listener)
Adds a listener for
opened-changed
events fired by the webcomponent.protected void
addToPrefix(Component... components)
Adds the given components as children of this component at the slot 'prefix'.
protected String
getErrorMessageString()
Description copied from corresponding location in WebComponent:
protected String
getLabelString()
Description copied from corresponding location in WebComponent:
protected String
getNameString()
Description copied from corresponding location in WebComponent:
protected String
getPlaceholderString()
Description copied from corresponding location in WebComponent:
protected boolean
isAutofocusBoolean()
Description copied from corresponding location in WebComponent:
protected boolean
isDisabledBoolean()
Description copied from corresponding location in WebComponent:
protected boolean
isInvalidBoolean()
Description copied from corresponding location in WebComponent:
protected boolean
isOpenedBoolean()
Description copied from corresponding location in WebComponent:
protected boolean
isReadonlyBoolean()
Description copied from corresponding location in WebComponent:
protected boolean
isRequiredBoolean()
Description copied from corresponding location in WebComponent:
protected void
remove(Component... components)
Removes the given child components from this component.
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 the
Element
API.protected void
setAutofocus(boolean autofocus)
Description copied from corresponding location in WebComponent:
protected void
setDisabled(boolean disabled)
Description copied from corresponding location in WebComponent:
protected void
setErrorMessage(String errorMessage)
Description copied from corresponding location in WebComponent:
protected void
setInvalid(boolean invalid)
Description copied from corresponding location in WebComponent:
protected void
setLabel(String label)
Description copied from corresponding location in WebComponent:
protected void
setName(String name)
Description copied from corresponding location in WebComponent:
protected void
setOpened(boolean opened)
Description copied from corresponding location in WebComponent:
protected void
setPlaceholder(String placeholder)
Description copied from corresponding location in WebComponent:
protected void
setReadonly(boolean readonly)
Description copied from corresponding location in WebComponent:
protected void
setRequired(boolean required)
Description copied from corresponding location in WebComponent:
protected void
validate()
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.AttachNotifier
addAttachListener
-
Methods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListener
-
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
-
Methods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, focus, getTabIndex, setTabIndex
-
Methods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListener
-
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
-
Methods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabled
-
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
-
Methods inherited from interface com.vaadin.flow.component.HasValue
clear, getOptionalValue
-
Methods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setReadOnly, setRequiredIndicatorVisible
-
-
-
-
Constructor Detail
-
GeneratedVaadinSelect
public GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, SerializableFunction<P,T> presentationToModel, SerializableFunction<T,P> modelToPresentation)
Constructs a new GeneratedVaadinSelect component with the given arguments.
Type Parameters:
P
- the property typeParameters:
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
- whethernull
is accepted as a model value
-
GeneratedVaadinSelect
public GeneratedVaadinSelect(T initialValue, T defaultValue, Class<P> elementPropertyType, SerializableBiFunction<R,P,T> presentationToModel, SerializableBiFunction<R,T,P> modelToPresentation)
Constructs a new GeneratedVaadinSelect component with the given arguments.
Type Parameters:
P
- the property typeParameters:
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, SerializableBiFunction<R,P,T> presentationToModel, SerializableBiFunction<R,T,P> modelToPresentation, boolean isInitialValueOptional)
Constructs a new GeneratedVaadinSelect component with the given arguments.
If
isInitialValueOptional
istrue
then 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 typeParameters:
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
- ifisInitialValueOptional
istrue
then 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
autofocus
property 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
disabled
property 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
opened
property 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
errorMessage
property 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
label
property 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
required
property 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
invalid
property 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
name
property 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
placeholder
property 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
readonly
property 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
value
is valid, and sets theinvalid
flag 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 Registration addOpenedChangeListener(ComponentEventListener<GeneratedVaadinSelect.OpenedChangeEvent<R>> listener)
Adds a listener for
opened-changed
events fired by the webcomponent.Parameters:
listener
- the listenerReturns:
a
Registration
for removing the event listener
-
addInvalidChangeListener
protected Registration addInvalidChangeListener(ComponentEventListener<GeneratedVaadinSelect.InvalidChangeEvent<R>> listener)
Adds a listener for
invalid-changed
events fired by the webcomponent.Parameters:
listener
- the listenerReturns:
a
Registration
for removing the event listener
-
addToPrefix
protected void addToPrefix(Component... components)
Adds the given components as children of this component at the slot 'prefix'.
Parameters:
components
- The components to add.See Also:
-
remove
protected void remove(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 the
Element
API.
-
-