Ir al contenido

Campo de búsqueda

Un input con el icono de una lupa y "Search…" como placeholder. Acepta el resto de parámetros de ui.input.

ui.search_input · Categoría: Formularios · Referencia completa →

Campo de búsquedaCampo de búsqueda
  • Encima de una lista, árbol o tabla para filtrarla mientras escribes.
  • Combínalo con ui.fuzzy_filter para ordenar primero los mejores resultados.
import pyzed as pz
from pyzed import ui
class Finder(pz.App):
def __init__(self):
self.query = ""
self.files = ["main.py", "app.py", "theme.py"]
def view(self):
matches = ui.fuzzy_filter(self.query, self.files)
return pz.column([
ui.search_input(self.query, lambda q: setattr(self, "query", q)),
*[ui.list_item(name, icon="file") for name, _ in matches],
], spacing=6)
Campo de búsqueda: VacíoCampo de búsqueda: Vacío
Vacío
Código
ui.search_input("", on_query, width=260)
Campo de búsqueda: Con búsquedaCampo de búsqueda: Con búsqueda
Con búsqueda
Código
ui.search_input("button", on_query, width=260)
Campo de búsqueda: placeholder=Campo de búsqueda: placeholder=
placeholder=
Código
ui.search_input("", on_query, placeholder="Search components…", width=260)
Campo de búsqueda: size="sm"Campo de búsqueda: size="sm"
size="sm"
Código
ui.search_input("", on_query, size="sm", width=260)
Campo de búsqueda: size="lg"Campo de búsqueda: size="lg"
size="lg"
Código
ui.search_input("", on_query, size="lg", width=260)
Campo de búsqueda: borderless=TrueCampo de búsqueda: borderless=True
borderless=True
Código
ui.search_input("", on_query, borderless=True, width=260)

Campo de búsqueda tiene 1 evento propios, en la tabla de abajo. Como todo widget, también tiene los 18 eventos comunes (click, double_click, right_click, mouse_enter, drag, key_down, resize…), que se conectan con .on(...): mira Eventos y Eventos de cada componente.

Evento El handler recibe Cuándo
on_input (text) Callable que recibe el texto nuevo en cada pulsación.

El handler recibe es lo que Pyzed le pasa a tu función: () es nada. Cualquier handler también puede ser un mensaje (un valor que no se puede llamar), que va a update().

Los mismos eventos escritos de tres formas. Imperativa: métodos de la app que cambian self. Declarativa: los handlers producen mensajes y un único update() decide. Funcional: una función pura dibuja un estado inmutable y pide cambios con set_state(...). Mira Imperativo, declarativo y funcional.

class Finder(pz.App):
def __init__(self):
self.query = ""
self.files = ["main.py", "app.py", "theme.py"]
def search(self, text): # on_input: every keystroke
self.query = text
def view(self):
matches = ui.fuzzy_filter(self.query, self.files)
return pz.column([ui.search_input(self.query, self.search),
*[ui.list_item(name, icon="file") for name, _ in matches]], spacing=6)
search_input(value, on_input=None, *, placeholder='Search…', **kwargs)

Un input con icono de lupa.

Propiedad Por defecto Descripción
value obligatorio Texto actual.
placeholder "Search…" Texto de ayuda cuando está vacío.
**kwargs — Los de input.

Eventos: on_input (eventos).

Referencia completa →