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 →


pz.column([ ui.search_input("", on_query), ui.search_input("button", on_query, placeholder="Search components…"),], spacing=10, width=360)Cuándo usarlo
Sección titulada «Cuándo usarlo»- Encima de una lista, árbol o tabla para filtrarla mientras escribes.
- Combínalo con
ui.fuzzy_filterpara ordenar primero los mejores resultados.
import pyzed as pzfrom 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)Variantes
Sección titulada «Variantes»Contenido
Sección titulada «Contenido»

Código
ui.search_input("", on_query, width=260)

Código
ui.search_input("button", on_query, width=260)

placeholder=Código
ui.search_input("", on_query, placeholder="Search components…", width=260)

size="sm"Código
ui.search_input("", on_query, size="sm", width=260)

size="lg"Código
ui.search_input("", on_query, size="lg", width=260)

borderless=TrueCódigo
ui.search_input("", on_query, borderless=True, width=260)Eventos
Sección titulada «Eventos»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().
Manejar los eventos
Sección titulada «Manejar los eventos»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)from dataclasses import dataclass
@dataclassclass Search: query: str
class Finder(pz.App): query = "" files = ["main.py", "app.py", "theme.py"]
def update(self, message): match message: case Search(query): self.query = query
def view(self): matches = ui.fuzzy_filter(self.query, self.files) return pz.column([ui.search_input(self.query, Search), *[ui.list_item(name, icon="file") for name, _ in matches]], spacing=6)from dataclasses import dataclass
@dataclass(frozen=True)class State: query: str = "" files: tuple = ("main.py", "app.py", "theme.py")
def view(state, set_state): matches = ui.fuzzy_filter(state.query, list(state.files)) return pz.column([ui.search_input(state.query, lambda q: set_state(query=q)), *[ui.list_item(name, icon="file") for name, _ in matches]], spacing=6)Propiedades y API
Sección titulada «Propiedades y API»ui.search_input
Sección titulada «ui.search_input»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).