【发布时间】:2013-08-19 21:06:49
【问题描述】:
我想我知道如何使用 FocusScopes 以及如何处理键盘焦点。
但我找不到一个聪明的方法来确定我的一个子项目是否 或他们的或我下面的任何人都有键盘焦点。
FocusScope 的文档说:
当焦点范围接收到活动焦点时,包含的元素与 焦点集(如果有)也获得活动焦点。如果这个元素也是 一个 FocusScope,代理行为继续。两者的焦点范围 并且子焦点项将设置 activeFocus 属性。
因此,FocusScope 会将 activeFocus 设置为 false 当焦点被赋予包含的 FocusScope 时。有没有办法弄清楚是否是这种情况?我如何知道是否至少一个包含的 FocusScope 获得了焦点?
【问题讨论】:
-
我当然可以编写自己的递归检查 hasFocus() 函数。但也许有更好的方法......