我正在为应用程序中的搜索页面使用构建器,基本上我是从json文件中获取数据的,我的问题是,如果我尝试搜索一个新单词,则仍然会显示旧结果,而新结果将显示在它们下面。
这是我从网站上获取数据的方式:
Future<List<Note>> fetchNotes() async {
var url = 'https://sample.com/';
var response = await http.get(url + _controller.text.trim());
var notes = List<Note>();
if (response.statusCode == 200) {
var notesJson = json.decode(response.body);
for (var noteJson in notesJson) {
notes.add(Note.fromJson(noteJson));
}
} else {
ercode = 1;
}
return notes;
}
fetchNotes().then((value) {
setState(() {
_notes.addAll(value);
});
});
if (_notes[0] == null) {
ercode = 2;
}
}
并且我显示这样的数据:
我认为您应该使用“ clear()”。
fetchNotes().then((value) {
setState(() {
_notes.clear();
_notes.addAll(value);
});
});