Saltar al contenido

ejemplo de código de filtro de barra de búsqueda flutter

No olvides que en las ciencias informáticas un error puede tener más de una resoluciones, no obstante nosotros aquí mostraremos lo más óptimo y eficiente.

Ejemplo: buscar en flutter listview

import'package:flutter/material.dart';voidmain()=>runApp(newMyApp());classMyAppextendsStatelessWidget// This widget is the root of your application.  @override  Widget build(BuildContext context)     return new MaterialApp(      title: 'Flutter Demo',      theme: new ThemeData(        primarySwatch: Colors.blue,      ),      home: new MyHomePage(title: 'ListView with Search),    );  class MyHomePage extends StatefulWidget   MyHomePage(Key key, this.title) : super(key: key);  final String title;  @override  _MyHomePageState createState() => new _MyHomePageState();class _MyHomePageState extends State   TextEditingController editingController = TextEditingController();  final duplicateItems = List.generate(10000, (i) => "Item $i");  var items = List();  @override  void initState()     items.addAll(duplicateItems);    super.initState();    void filterSearchResults(String query)     List dummySearchList = List();    dummySearchList.addAll(duplicateItems);    if(query.isNotEmpty)       List dummyListData = List();      dummySearchList.forEach((item)         if(item.contains(query))           dummyListData.add(item);              );      setState(()         items.clear();        items.addAll(dummyListData);      );      return;     else       setState(()         items.clear();        items.addAll(duplicateItems);      );        @override  Widget build(BuildContext context)     return new Scaffold(      appBar: new AppBar(        title: new Text(widget.title),      ),      body: Container(        child: Column(          children: [            Padding(              padding: const EdgeInsets.all(8.0),              child: TextField(                onChanged: (value)                   filterSearchResults(value);                ,                controller: editingController,                decoration: InputDecoration(                    labelText: "Search",                    hintText: "Search",                    prefixIcon: Icon(Icons.search),                    border: OutlineInputBorder(                        borderRadius: BorderRadius.all(Radius.circular(25.0)))),              ),            ),            Expanded(              child: ListView.builder(                shrinkWrap: true,                itemCount: items.length,                itemBuilder: (context, index)                   return ListTile(                    title: Text('$items[index]'),                  );                ,              ),            ),          ],        ),      ),    );  

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *