为什么我的flutter TextField initialState不起作用



以下是我如何调用名为BodyInput 的自定义小工具的代码

BodyInput(
label: 'Name',
readOnly: readOnly,
initialValue: name,
placeholder: name,
handleChange: (value) {
print(value);
},
),

占位符和initialState都有相同的值,但由于某种原因,我的TextField没有显示initialState而是显示占位符。结果

这是BodyInput本身*由于某种原因,它不允许我复制粘贴代码,所以这里是一个图像,我真的很抱歉遇到麻烦,因为某种原因,当我粘贴代码时,只有第一行被复制为代码,其余都是普通文本

好吧,我的widget.initialState在initState上的值为null:/,所以我不得不在widget中设置_controller值,我的代码变成这样

Widget build(BuildContext context) {
//Had to move this here instead of in the initState method.
_controller = new TextEditingController(text: widget.initialValue);
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(widget.label),
TextField(
onChanged: (value) {
widget.handleChange(value);
},
controller: _controller,
readOnly: widget.readOnly,
decoration: InputDecoration(
hintText: widget.placeholder, contentPadding: EdgeInsets.all(2)),
),
],
);

}

请告诉我是否有更好的答案

相关内容

  • 没有找到相关文章

最新更新