已棄用的 TextField.canRequestFocus
概述
#TextField.canRequestFocus 已棄用。您可以透過設定 TextField 的 FocusNode 的 canRequestFocus 引數來實現相同的功能。
背景
#新增 TextField.canRequestFocus 是為了支援 DropdownMenu,它有一個有時不具有互動性的 TextField。但是,透過設定 TextField 的 FocusNode 的 canRequestFocus 引數,可以實現相同的功能。DropdownMenu 已遷移到此方法,其他用例也應遵循相同的模式。
使用 TextField.canRequestFocus 的應用在除錯模式下執行時會顯示以下錯誤:“請改用 focusNode”。具體來說,這意味著使用者應該將一個 FocusNode 傳遞給 TextField.focusNode,並設定 FocusNode.canRequestFocus 引數。
遷移指南
#要進行遷移,請移除 TextField.canRequestFocus 引數。建立一個 FocusNode,並將 FocusNode.canRequestFocus 引數設定為所需的值,然後將其傳遞給 TextField.focusNode。
遷移前的程式碼
dart
class _MyWidgetState extends State<MyWidget> {
@override
Widget build(BuildContext context) {
return TextField(
canRequestFocus: false,
);
}
}遷移後的程式碼
dart
class _MyWidgetState extends State<MyWidget> {
final FocusNode _focusNode = FocusNode(canRequestFocus: false);
@override
Widget build(BuildContext context) {
return TextField(
focusNode: _focusNode,
);
}
}時間線
#已合併到版本:已回滾,等待重新合併
穩定版本:尚未釋出
參考資料
#API 文件
相關問題
相關 PR