我在Scaffold的底部表格中有一个文本字段,并且希望在不关闭窗口的情况下进行大量输入。
为此,在输入之后,我试图再次专注于文本字段,但是此方法不起作用
让我解释以下代码:
bottomSheet: BottomSheet(
onClosing: () {
},
builder: (context){
return Container(
decoration: BoxDecoration(
color: Colors.white,
border: Border.all(color: Colors.black)
),
padding: const EdgeInsets.all(10),
child: (widget.state == true)? Row(children: [
Container(
width: 160,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10),
boxShadow: [
BoxShadow(
color: Color.fromRGBO(141, 148, 251, .5),
blurRadius: 10,
offset: Offset(0, 5))
]
),
child: TextFormField(
controller: _r,
textInputAction: TextInputAction.send,
focusNode: _node,
autofocus: true,
decoration: InputDecoration(
fillColor: Colors.deepPurple,
prefixIcon: Icon(Icons.person, color: Colors.grey,),
hintText: "R",
errorText: validate(_r.text),
hintStyle: TextStyle(
color: Colors.grey,
)
),
style: TextStyle(color:Colors.deepOrange),
keyboardType: TextInputType.number,
onFieldSubmitted: (value) {
setState(() {
val=true;
if(value != ""){
_addProduct(value);
}
});
FocusScope.of(context).requestFocus(_node); //This line is not working
},
),
),
Container(
height: 40,
padding: EdgeInsets.only(left:18),
child: RaisedButton(
color: Theme.of(context).accentColor,
onPressed: () {
print(_r.text);
setState(() {
val=true;
if(_r.text != ""){
_addProduct(_r.text);
}
FocusScope.of(context).requestFocus(_node); //This line is not working
});
},
child: Row(children: [
Icon(Icons.local_parking, color: Colors.white,),
Text('P', style: TextStyle(color: Colors.white),),
],)
),
),
Container(
height: 40,
padding: EdgeInsets.only(left:18),
child: RaisedButton(
color: Theme.of(context).accentColor,
onPressed: () {
_node.requestFocus(); //This line is not working
});
},
child: Row(children: [
Icon(Icons.delete, color: Colors.white,),
Text('Edit', style: TextStyle(color: Colors.white),),
],)
)
),
],)
);
})
这是我的脚手架底部代码。 我只是在底片中撒上粉尘,然后在脚手架的主体中展示 我希望这两部分分开,所以我使用主体,底片 但是当我在正文中显示列表时,底部表中的文本字段的焦点消失了,只有当我单击TextField时才能将焦点聚焦
随着元素在文本字段中的输入,主体会不断更新,因此底表上的控件会丢失
主要问题: “我只想继续在底表中输入内容,并通过不断打开键盘使它在正文中显示”
请帮助我解决这个问题