【发布时间】:2021-10-13 16:30:40
【问题描述】:
我正在尝试使用提供程序模型中的值来更新 TextFormField 的 initialValue,但 initialValue 没有改变。
import 'package:flutter/material.dart';
import 'package:new_app/models/button_mode.dart';
import 'package:provider/provider.dart';
class EditWeightTextField extends StatelessWidget {
const EditWeightTextField(
{Key? key})
: super(key: key);
@override
Widget build(BuildContext context) {
return Consumer<ButtonMode>(builder: (context, buttonMode, child) {
return TextFormField(
initialValue: buttonMode.weight.toString(),
validator: (value) {
if (value == null || value.isEmpty) {
return 'Please enter weight';
}
return null;
},
);
});
}
}
如果我使用 Text(${buttonMode.weight}') 而不是 TextFormField,则文本会正确更新。我该怎么做才能使它与 TextFormField 一起使用?
【问题讨论】:
-
我建议您使用
TextEditingController(text: 'Initial value');,如果您需要完整的解决方案,请告诉我 -
我希望有一个完整的解决方案