dart 我可以禁用SearchDelegate类的自动键盘弹出吗?

jjhzyzn0  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(143)

我使用的是SearchDelegateFlutter类。当我使用showSearch方法时,它会自动打开键盘。
我想我可以在某个被覆盖的方法中立即关闭它。但我不希望它在第一时间弹出。只有在点击搜索栏时才会弹出。
我知道SearchDelegate类有一个_focusNode属性,但我不知道如何使用它。
有什么主意吗?先谢了。

r8uurelv

r8uurelv1#

截至今天 (2022年12月),严格按照您的问题:不,你不能
带有前导下划线_的Dart字段不仅仅是一种命名约定,它们还允许将字段标记为私有。此类字段仅可用于:

  • 声明.dart文件(在顶级声明时)。
  • 在作用域级别声明时的父Dart对象。

因此,您的代码不能访问_focusNode字段,也不能访问_SearchPageRoute<T>_SearchPage<T>_SearchPageState<T>类。
总之,您可以处理这个限制,也可以创建您自己的搜索页面的自定义实现,您可以从头开始构建它,也可以派生现有的showSearch实现并修改它以满足您的需要。

相关问题