我使用的是SearchDelegateFlutter类。当我使用showSearch方法时,它会自动打开键盘。我想我可以在某个被覆盖的方法中立即关闭它。但我不希望它在第一时间弹出。只有在点击搜索栏时才会弹出。我知道SearchDelegate类有一个_focusNode属性,但我不知道如何使用它。有什么主意吗?先谢了。
r8uurelv1#
截至今天 (2022年12月),严格按照您的问题:不,你不能带有前导下划线_的Dart字段不仅仅是一种命名约定,它们还允许将字段标记为私有。此类字段仅可用于:
_
.dart
因此,您的代码不能访问_focusNode字段,也不能访问_SearchPageRoute<T>、_SearchPage<T>或_SearchPageState<T>类。总之,您可以处理这个限制,也可以创建您自己的搜索页面的自定义实现,您可以从头开始构建它,也可以派生现有的showSearch实现并修改它以满足您的需要。
_focusNode
_SearchPageRoute<T>
_SearchPage<T>
_SearchPageState<T>
showSearch
1条答案
按热度按时间r8uurelv1#
截至今天 (2022年12月),严格按照您的问题:不,你不能
带有前导下划线
_
的Dart字段不仅仅是一种命名约定,它们还允许将字段标记为私有。此类字段仅可用于:.dart
文件(在顶级声明时)。因此,您的代码不能访问
_focusNode
字段,也不能访问_SearchPageRoute<T>
、_SearchPage<T>
或_SearchPageState<T>
类。总之,您可以处理这个限制,也可以创建您自己的搜索页面的自定义实现,您可以从头开始构建它,也可以派生现有的
showSearch
实现并修改它以满足您的需要。