Web Components Componente de lista desplegable - Descripción general
Rica en funciones, la lista desplegable de Web Components ofrece filtrado listo para usar, accesibilidad, valores preseleccionados, enlace de datos flexible, agrupación, personalización de la interfaz de usuario y más. Lo que este componente hace prácticamente es reemplazar de manera efectiva y fácil las etiquetas de selección HTML, lo que permite a los usuarios elegir rápidamente un valor no editable de un conjunto predefinido de varias opciones.
El componente desplegable Ignite UI for Web Components muestra una lista de alternancia de valores predefinidos y permite a los usuarios seleccionar fácilmente un solo elemento de opción con un clic. Se puede configurar rápidamente para que actúe como un menú desplegable de Web Components o simplemente puede usarlo para brindar información visual más útil agrupando datos. Además, con la agrupación se pueden utilizar tanto datos planos como jerárquicos.
Con nuestro componente, obtiene todas las funciones y opciones de personalización que necesita para su proyecto: personalizaciones de estilo, opciones de ubicación Web Components desplegable, plantillas y la capacidad de cambiar qué y cómo se muestra en el encabezado, pie de página, cuerpo, lista, etc.
Web Components Ejemplo de menú desplegable
El siguiente ejemplo de lista desplegable de Web Components muestra el uso de un menú desplegable de Web Components interactivo simple en acción con tres opciones básicas para elegir. Vea cómo funciona.
<!DOCTYPE html><html><head><title>Drop Down Overview</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample center"><igc-dropdown><igc-buttonslot="target">Options</igc-button><igc-dropdown-item>Option 1</igc-dropdown-item><igc-dropdown-item>Option 2</igc-dropdown-item><igc-dropdown-item>Option 3</igc-dropdown-item></igc-dropdown></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
¿Te gusta esta muestra? Obtenga acceso a nuestro kit de herramientas de Ignite UI for Web Components completo y comience a crear sus propias aplicaciones en minutos. Descárgalo gratis.
Cómo usar la lista desplegable con Ignite UI for Web Components
En primer lugar, debe instalar el Ignite UI for Web Components ejecutando el siguiente comando:
La lista desplegable Web Components se coloca en relación con su destino. La target ranura le permite proporcionar un componente incorporado que alterna la propiedad con un open clic. En algunos casos, es posible que desee usar un destino externo o usar otro evento para alternar la apertura del menú desplegable. Puede lograr esto utilizando los showTarget métodos , hide y toggleTarget que le permiten proporcionar el objetivo como parámetro. De forma predeterminada, la lista desplegable utiliza absolute la posición CSS. Deberá establecer el menú desplegable de Web Components IgcPositionStrategy en fixed cuando el elemento de destino esté dentro de un contenedor fijo, pero el menú desplegable no lo esté. El tamaño de la lista desplegable se ajusta automáticamente en función de su contenido, si desea que la lista tenga el mismo ancho que el destino, debe establecer la sameWidth propiedad en true.
<!DOCTYPE html><html><head><title>Drop Down Target</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample center"><divclass="options horizontal"><igc-buttonid="target1">First Target</igc-button><igc-buttonid="target2"style="margin-left: 20px;">Second Target</igc-button><igc-dropdownid="dropdown"same-width><igc-dropdown-item>Option 1</igc-dropdown-item><igc-dropdown-item>Option 2</igc-dropdown-item><igc-dropdown-item>Option 3</igc-dropdown-item></igc-dropdown></div></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
Posición
La ubicación preferida del menú desplegable Web Components se puede establecer mediante la placement propiedad. La ubicación predeterminada del menú desplegable es bottom-start. La flip propiedad determina si se debe invertir la ubicación si no hay suficiente espacio para mostrar el menú desplegable en la ubicación especificada. La distancia desde la lista desplegable Web Components hasta su destino se puede especificar mediante la distance propiedad.
<!DOCTYPE html><html><head><title>Drop Down Position</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample center"><igc-dropdownid="dropdown"class="size-small"distance="5"><igc-buttonslot="target">Options</igc-button><igc-dropdown-item>top</igc-dropdown-item><igc-dropdown-item>top-start</igc-dropdown-item><igc-dropdown-item>top-end</igc-dropdown-item><igc-dropdown-item>bottom</igc-dropdown-item><igc-dropdown-itemselected>bottom-start</igc-dropdown-item><igc-dropdown-item>bottom-end</igc-dropdown-item><igc-dropdown-item>right</igc-dropdown-item><igc-dropdown-item>right-start</igc-dropdown-item><igc-dropdown-item>right-end</igc-dropdown-item><igc-dropdown-item>left</igc-dropdown-item><igc-dropdown-item>left-start</igc-dropdown-item><igc-dropdown-item>left-end</igc-dropdown-item></igc-dropdown></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
Selección
Emite IgcDropdownComponent el evento cuando el Change usuario selecciona un elemento. El select método del menú desplegable le permite seleccionar un elemento por su índice o valor.
Artículo
El IgcDropdownItemComponent representa un elemento seleccionable en la lista desplegable. Puede predefinir un elemento seleccionado configurando la propiedad selected. También puede deshabilitar un elemento para que no se pueda seleccionar usando la propiedad disabled. El IgcDropdownItemComponent tiene una ranura predeterminada que le permite especificar el contenido del elemento. También puede proporcionar contenido personalizado para que se represente antes o después del contenido utilizando las ranuras prefix y suffix. La propiedad value le permite proporcionar un valor personalizado a un artículo. Si no se establece el value, se resuelve en el contenido de texto del elemento.
<!DOCTYPE html><html><head><title>Drop Down Item</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample center"><igc-dropdown><igc-buttonslot="target">Category</igc-button><igc-dropdown-item><igc-iconslot="prefix"name="hotel"collection="material"></igc-icon>
Hotel
</igc-dropdown-item><igc-dropdown-itemdisabled><igc-iconslot="prefix"name="grocery"collection="material"></igc-icon>
Grocery
</igc-dropdown-item><igc-dropdown-itemselected><igc-iconslot="prefix"name="restaurant"collection="material"></igc-icon>
Restaurant
</igc-dropdown-item></igc-dropdown></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
<!DOCTYPE html><html><head><title>Drop Down Header</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample center"><igc-dropdown><igc-buttonslot="target">Sound</igc-button><igc-dropdown-header>Mode</igc-dropdown-header><igc-dropdown-itemselected>
Ring
<igc-iconslot="suffix"name="ring"collection="material"></igc-icon></igc-dropdown-item><igc-dropdown-item>
Vibrate
<igc-iconslot="suffix"name="vibrate"collection="material"></igc-icon></igc-dropdown-item><igc-dropdown-item>
Silent
<igc-iconslot="suffix"name="silent"collection="material"></igc-icon></igc-dropdown-item></igc-dropdown></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
Grupo
Los elementos del menú desplegable de Web Components también se pueden agrupar mediante el IgcDropdownGroupComponent, lo que facilita a los usuarios la diferenciación de categorías separadas. Véalo en acción en este ejemplo de lista desplegable de Web Components:
<!DOCTYPE html><html><head><title>Drop Down Group</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample center"><igc-dropdown><igc-buttonslot="target">Countries</igc-button><igc-dropdown-group><spanslot="label">Europe</span><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
Germany
<spanslot="suffix">DE</span></igc-dropdown-item><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
France
<spanslot="suffix">FR</span></igc-dropdown-item><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
Spain
<spanslot="suffix">ES</span></igc-dropdown-item></igc-dropdown-group><igc-dropdown-group><spanslot="label">North America</span><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
USA
<spanslot="suffix">US</span></igc-dropdown-item><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
Canada
<spanslot="suffix">CA</span></igc-dropdown-item><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
Mexico
<spanslot="suffix">MX</span></igc-dropdown-item></igc-dropdown-group></igc-dropdown></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
Estrategia de desplazamiento
La propiedad scrollStrategy determina el comportamiento del componente durante el desplazamiento del contenedor del elemento de destino. El valor predeterminado es scroll, lo que significa que el menú desplegable se desplazará con su destino. Establecer la propiedad en block bloqueará el desplazamiento si se abre el menú desplegable. También puede configurar la propiedad para que se close, lo que significa que el menú desplegable se cerrará automáticamente al desplazarse.
Mantener abierta
De forma predeterminada, el menú desplegable se cierra automáticamente cuando el usuario hace clic fuera de él o selecciona un elemento. Puede evitar este comportamiento utilizando las propiedades keepOpenOnOutsideClick y keepOpenOnSelect.
<!DOCTYPE html><html><head><title>Drop Down Styling</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample center"><igc-dropdown><igc-buttonslot="target">Countries</igc-button><igc-dropdown-group><spanslot="label">Europe</span><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
Germany
<spanslot="suffix">DE</span></igc-dropdown-item><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
France
<spanslot="suffix">FR</span></igc-dropdown-item><igc-dropdown-itemselected><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
Spain
<spanslot="suffix">ES</span></igc-dropdown-item></igc-dropdown-group><igc-dropdown-group><spanslot="label">North America</span><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
USA
<spanslot="suffix">US</span></igc-dropdown-item><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
Canada
<spanslot="suffix">CA</span></igc-dropdown-item><igc-dropdown-item><igc-iconslot="prefix"name="place"collection="material"></igc-icon>
Mexico
<spanslot="suffix">MX</span></igc-dropdown-item></igc-dropdown-group></igc-dropdown></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html