【发布时间】:2019-12-05 21:07:03
【问题描述】:
在我的 react native 项目中,我在一页中有一个数据列表。然后单击列表中的每张卡片,我通过传递按下的卡片的值(如下面的代码)转到它们的详细信息页面-
Navigator.pushNamed(ctxt, '/DetailsNotes', arguments: _allNotes[index]);
之后,在下一个屏幕中,我会收到构建函数中的值,如下所示-
final ModelAllNotes args = ModalRoute.of(context).settings.arguments;
在这个屏幕中,我有两个 TextFormField 并在构建函数中初始化它们,如下所示-
final title = TextFormField(
controller: _textFieldControllerTitle,
keyboardType: TextInputType.emailAddress,
autofocus: false,
maxLength: 100,
decoration: InputDecoration(
hintText: 'Title',
labelText: 'Title',
icon: Icon(selectedIcons),
contentPadding: EdgeInsets.fromLTRB(20.0, 20.0, 20.0, 20.0),
border: OutlineInputBorder(borderRadius: BorderRadius.circular(10.0)),
),
validator: (value) {
if (value.isEmpty) {
return 'Enter some text';
}
return null;
},
onSaved: (String value) {
this._data.title = value;
},
);
我还声明了 controlller 来处理 TextFormField 的文本更改和保存问题,如下所示-
TextEditingController _textFieldControllerTitle = TextEditingController();
那么,现在的问题是——
我想从 args 变量中接收到的值中获得 TextFormField 的初始值,然后允许用户编辑 TextformFields。但是,每当我对每个 TextFormField 使用 initialValue 属性时,它都不起作用。
我需要一个解决方案来从 args(来自上一个屏幕)接收到值,然后最初在我的 TextFromField 中显示它们并保持它们可编辑。
【问题讨论】: