gpt4 book ai didi

flutter - 如何从另一个输入动态更新文本值

转载 作者:行者123 更新时间:2023-12-03 03:54:40 24 4
gpt4 key购买 nike

第一次使用Flutter移动项目。
输入字段输入时如何动态更改文本值?

例如,文本中显示的默认值是0.00。现在,用户输入数字1,然后文本值应立即更改为1

这是我的显示文字

              Consumer<Settings>(
builder: (context, settings, child) => Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[

Text(
'TOTAL ${_getGrandTotal(_formData.items)}',
style: Theme.of(context).textTheme.headline5,
),
],
),
),

我的inputformfield
            Consumer<Settings>(
builder: (context, settings, child) => Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Expanded(
child: Container(
margin: EdgeInsets.only(right: 5),
child: TextFormField(
initialValue: _formData.total ?? '0.00',
decoration: TextFormField.decoration(
labelText: Localizations.of(context)
.text('label_total'),
),
onChanged: (String value) async {
_getGrandTotal(value);

},
),
),
],
),
),

最佳答案

您需要先使用StatefulWidget,然后在setState(() {})onChanged中使用TextFormField。像这样:

TextFormField(
initialValue: _formData.total ?? '0.00',
decoration: TextFormField.decoration(
labelText: Localizations.of(context).text('label_total'),
),
onChanged: (String value) {
setState(() {
_formData.total = value;
});
},
),

然后, setState将导致您的窗口小部件重建,并呈现最新值。

关于flutter - 如何从另一个输入动态更新文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61842831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com