Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
469 of 1024 menu
◀ ▶

Класс SearchController

Класс SearchController управляет полем поиска Material 3. Текст - как у TextEditingController, открыть view - openView, закрыть - closeView. Передают в SearchBar и SearchAnchor.

Синтаксис

final SearchController controller = SearchController();

Методы

Метод Описание
openView Открывает полноэкранный search view.
closeView Закрывает полноэкранный search view.

Пример

Давайте откроем view программно:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: SearchCtrlDemo())); } class SearchCtrlDemo extends StatefulWidget { const SearchCtrlDemo({super.key}); @override State<SearchCtrlDemo> createState() => _SearchCtrlDemoState(); } class _SearchCtrlDemoState extends State<SearchCtrlDemo> { final SearchController controller = SearchController(); @override void dispose() { controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( body: Center( child: ElevatedButton( onPressed: () => controller.openView(), child: Text('abcde'), ), ), ); } }

Кнопка вызовет openView у контроллера.

Пример

Давайте передадим controller в SearchBar:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: SearchCtrlDemo2())); } class SearchCtrlDemo2 extends StatefulWidget { const SearchCtrlDemo2({super.key}); @override State<SearchCtrlDemo2> createState() => _SearchCtrlDemo2State(); } class _SearchCtrlDemo2State extends State<SearchCtrlDemo2> { final SearchController controller = SearchController(); @override void dispose() { controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( body: SearchBar( controller: controller, hintText: '12345', ), ); } }

SearchBar читает текст из SearchController.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить