Un campo de texto con un panel filtrado debajo, navegable por teclado: la forma que comparte todo elemento que ofrece una lista mientras se escribe. Extiende VadavoFormElement.
El campo y el panel, que genera en su shadow root. El filtrado contra lo escrito, la apertura y el cierre, las flechas, Enter y Escape, el botón que vacía el campo, y la cabecera del panel, que dice cuántos resultados quedan y que las flechas se mueven por ellos.
El atributo open fuerza el panel abierto desde el marcado.
| Miembro | Qué decide |
|---|---|
readEntries() | Cómo se leen las opciones del DOM ligero como datos. |
entryMatches(entry, query) | Si una entrada coincide con lo escrito. |
renderRow(entry, query) | El elemento que representa una fila. |
onSelect(entry) | Qué significa elegir una fila, más allá de tomar su valor. |
updateVisualState() | Qué piezas del campo se muestran para el valor actual. |
fieldType() | El type que toma el campo interno. |
fieldContent() | El marcado que va en los huecos del campo: un icono en el hueco icon, un añadido en el hueco affix. |
Una fila puede ser un enlace: Enter la activa pulsándola, igual que haría el puntero, y un clic con modificador la deja navegar a otro sitio sin tocar el valor ni cerrar el panel.
_combobox.scss lleva el campo y el panel, iguales en todos los componentes que extienden la clase, y cada uno lo compone en su hoja antes que la propia. El contenido de una fila y la forma del campo quedan en cada componente.