Class VirtualList<T>
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.virtuallist.VirtualList<T>
-
- Type Parameters:
T- the type of the items supported by the list
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.BlurNotifier<VirtualList<T>>,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.Focusable<VirtualList<T>>,com.vaadin.flow.component.FocusNotifier<VirtualList<T>>,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasEnabled,com.vaadin.flow.component.HasSize,com.vaadin.flow.component.HasStyle,com.vaadin.flow.data.binder.HasDataProvider<T>,com.vaadin.flow.data.binder.HasItems<T>,Serializable
@Tag("vaadin-virtual-list") @NpmPackage(value="@vaadin/polymer-legacy-adapter",version="23.6.1") @NpmPackage(value="@vaadin/virtual-list",version="23.6.1") @NpmPackage(value="@vaadin/vaadin-virtual-list",version="23.6.1") @JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/polymer-legacy-adapter/template-renderer.js") @JsModule("@vaadin/virtual-list/src/vaadin-virtual-list.js") @JsModule("./flow-component-renderer.js") @JsModule("./virtualListConnector.js") public class VirtualList<T> extends com.vaadin.flow.component.Component implements com.vaadin.flow.data.binder.HasDataProvider<T>, com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.HasSize, com.vaadin.flow.component.Focusable<VirtualList<T>>Virtual List allows you to render a long list of items inside a scrollable container without sacrificing performance. Each item is rendered on the fly as the user scrolls the list. To use the component, you need to assign it a set of data items and a renderer that is used for rendering each individual data item. The height of an item is determined by its content and can change dynamically.This component supports
DataProviders to load data asynchronously andRenderers to render the markup for each item.- Author:
- Vaadin Ltd.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description VirtualList()Creates an empty list.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.vaadin.flow.data.provider.DataCommunicator<T>getDataCommunicator()Returns the data communicator of this list.com.vaadin.flow.data.provider.DataProvider<T,?>getDataProvider()Returns the data provider of this list.TgetPlaceholderItem()Gets the placeholder item of this list, ornullif none has been set.voidonEnabledStateChanged(boolean enabled)voidsetDataProvider(com.vaadin.flow.data.provider.DataProvider<T,?> dataProvider)voidsetPlaceholderItem(T placeholderItem)Sets an item to be shown as placeholder in the list while the real data in being fetched from the server.voidsetRenderer(Renderer<T> renderer)Sets a renderer for the items in the list.voidsetRenderer(com.vaadin.flow.function.ValueProvider<T,String> valueProvider)Sets a renderer for the items in the list, by using aValueProvider.-
Methods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onAttach, onDetach, 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
-
Methods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull
-
-
-
-
Method Detail
-
setDataProvider
public void setDataProvider(com.vaadin.flow.data.provider.DataProvider<T,?> dataProvider)
- Specified by:
setDataProviderin interfacecom.vaadin.flow.data.binder.HasDataProvider<T>
-
getDataProvider
public com.vaadin.flow.data.provider.DataProvider<T,?> getDataProvider()
Returns the data provider of this list.- Returns:
- the data provider of this list, not
null
-
getDataCommunicator
public com.vaadin.flow.data.provider.DataCommunicator<T> getDataCommunicator()
Returns the data communicator of this list.- Returns:
- the data communicator, not
null
-
setRenderer
public void setRenderer(com.vaadin.flow.function.ValueProvider<T,String> valueProvider)
Sets a renderer for the items in the list, by using aValueProvider. The String returned by the provider is used to render each item.- Parameters:
valueProvider- a provider for the label string for each item in the list, notnull
-
setRenderer
public void setRenderer(Renderer<T> renderer)
Sets a renderer for the items in the list.When set, a same renderer is used for the placeholder item. See
setPlaceholderItem(Object)for details.- Parameters:
renderer- a renderer for the items in the list, notnull
-
setPlaceholderItem
public void setPlaceholderItem(T placeholderItem)
Sets an item to be shown as placeholder in the list while the real data in being fetched from the server.Setting a placeholder item improves the user experience of the list while scrolling, since the placeholder uses the same renderer set with
setRenderer(Renderer), maintaining the same height for placeholders and actual items.When no placeholder item is set (or when set to
null), an empty placeholder element is created.Note: when using
ComponentRenderers, the component used for the placeholder is statically stamped in the list. It can not be modified, nor receives any events.- Parameters:
placeholderItem- the item used as placeholder in the list, while the real data is being fetched from the server
-
getPlaceholderItem
public T getPlaceholderItem()
Gets the placeholder item of this list, ornullif none has been set.- Returns:
- the placeholder item
-
onEnabledStateChanged
public void onEnabledStateChanged(boolean enabled)
- Overrides:
onEnabledStateChangedin classcom.vaadin.flow.component.Component
-
-