Метод closeView
Метод closeView класса SearchController сворачивает view,
открытый через
openView
или тап по
SearchBar
в
SearchAnchor.
Вызывают из подсказки или кнопки «готово».
Синтаксис
searchController.closeView('abcde')
Параметры
| Параметр | Описание |
|---|---|
selectedText |
Строка, которую оставить в поле после закрытия. |
Пример
Давайте закроем view при выборе подсказки:
import 'package:flutter/material.dart';
void main()
{
runApp(const MaterialApp(home: CloseViewDemo()));
}
class CloseViewDemo extends StatelessWidget
{
const CloseViewDemo({super.key});
@override
Widget build(BuildContext context)
{
return Scaffold(
body: SearchAnchor(
builder: (context, controller) {
return SearchBar(
controller: controller,
hintText: '12345',
);
},
suggestionsBuilder: (context, controller) {
return [
ListTile(
title: Text('abcde'),
onTap: () {
controller.closeView('abcde');
},
),
];
},
),
);
}
}
Тап по подсказке вызовет closeView с текстом 'abcde'.
Пример
Давайте закроем view кнопкой в suggestions:
import 'package:flutter/material.dart';
void main()
{
runApp(const MaterialApp(home: CloseViewBtnDemo()));
}
class CloseViewBtnDemo extends StatelessWidget
{
const CloseViewBtnDemo({super.key});
@override
Widget build(BuildContext context)
{
return Scaffold(
body: SearchAnchor(
builder: (context, controller) {
return SearchBar(controller: controller);
},
suggestionsBuilder: (context, controller) {
return [
Padding(
padding: EdgeInsets.all(16),
child: ElevatedButton(
onPressed: () {
controller.closeView('12345');
},
child: Text('abcde'),
),
),
];
},
),
);
}
}
В поле останется '12345' после closeView.
Смотрите также
-
метод
openView,
открыть search view -
класс
SearchController,
контроллерSearchBar -
виджет
SearchAnchor,
якорь с view -
виджет
CloseButton,
кнопка закрытия в UI