[英]Flutter focusnode problem not working - only by clicking it works
我正在使用掃描條形碼的設備,我希望在每次閱讀焦點后返回 TextFormFiled - 下面的代碼完成工作,我看到 cursor 專注於 TextFormFiled 但是當我下次閱讀時它什么也沒顯示,我需要手動只需用我的手指點擊文本文件即可激活焦點,有人可以幫助我嗎(設備在每次閱讀后返回 LF)
TextFormField(
decoration: new InputDecoration(
border: new OutlineInputBorder(
borderRadius: const BorderRadius.all(
const Radius.circular(10.0),
),
),
filled: true,
hintStyle: new TextStyle(
color: Colors.grey[800]),
hintText: "Read BarCode",
fillColor: Colors.white70),
focusNode: myFocusNode,
controller: search,
autofocus: true,
maxLines: null,
validator: (value) {
// print(value.toString().runes);
if (value.toString().contains("\n")) {
fetchProducts(value!);
search.text = "";
} else {}
},
),
使用您的myFocusNode
激活對 textField 的焦點。
void function(){
/// after scanning is complete call this
focusNode.requestFocus()
}
我通過了這個並確實像這樣解決了它:
_addItem() {
final isValid = _formKey.currentState?.validate() ?? false;
if (!isValid) {
return;
}
final ean = int.parse(_eanController.text);
listaEan.add(ean);
_eanController.text = '';
setState(() {
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
_eanFocus.requestFocus();
});
});
}
但在物理掃描設備中,確實工作正常。 不使用 addPostFramaCallback。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.