Код: Выделить всё
Autocomplete(
optionsBuilder: (TextEditingValue textEditingValue) {
if (textEditingValue.text.isEmpty) {
return const Iterable.empty();
}
return animalSuggestions.where((option) {
return option.toLowerCase().contains(textEditingValue.text.toLowerCase());
});
},
onSelected: (String selection) {
_animalController.text = selection; // Explicitly set value
},
fieldViewBuilder: (BuildContext context, TextEditingController textEditingController, FocusNode focusNode, VoidCallback onFieldSubmitted) {
return TextField(
controller: textEditingController, // Use internal controller to manage suggestions
focusNode: focusNode,
decoration: InputDecoration(
labelText: 'Search Animal',
border: OutlineInputBorder(),
),
);
},
optionsViewBuilder: (BuildContext context, AutocompleteOnSelected onSelected, Iterable options) {
return Align(
alignment: Alignment.topLeft,
child: Material(
elevation: 4.0,
child: SizedBox(
height: 200.0, // Set a fixed height for the options list
child: ListView.builder(
padding: EdgeInsets.all(8.0),
itemCount: options.length,
itemBuilder: (BuildContext context, int index) {
final String option = options.elementAt(index);
return ListTile(
title: Text(option),
onTap: () {
onSelected(option);
},
);
},
),
),
),
);
},
),
Код: Выделить всё
List animalSuggestions = [];
TextEditingController _animalController = TextEditingController();
Код: Выделить всё
_animalController.clear();
Подробнее здесь: https://stackoverflow.com/questions/792 ... clear-text
Мобильная версия