SearchDelegate
在Flutter中实现搜索框可以使用SearchDelegate来实现,我们需要将自己要实现搜索框的类继承于它,并且实现相关的方法。
buildSuggestions
这个方法监听这query,query是用户键入的内容,这个方法一般返回一个ListView,然后将建议的列表放置其中,当列表中某一项被点击的时候应该通过回调showResults方法来显示结果。
buildResults
用来构建搜索结果被提交后的显示结果
buildLeading
查询条的左边头放置的部件,通常返回一个返回按钮并且触发close事件
buildActions
查询条右边放置的组件,返回一个widget数组,通常里面存放着清除按钮,搜索按钮等
SearchDelegate源码及详解
1 | abstract class SearchDelegate<T> { |
代码示例
1 | class MyApp extends StatelessWidget { |