【发布时间】:2022-01-11 10:45:39
【问题描述】:
我正在开发数学应用程序。目前我正在研究矩阵。我想当用户选择矩阵的维度时,然后在下一个屏幕上出现具有相同维度的文本字段。
我如何处理每个文本字段的 TextEditing 控制器?
Here is how I'm taking matrix dimension from user
我制作了一个简单的文本字段来接收用户的输入
class Matrice extends StatelessWidget {
Matrice({Key? key}) : super(key: key);
final controller = Get.find<MatricesController>();
@override
Widget build(BuildContext context) {
return Container(
// color: Colors.green,
// height: 50.0,
width: double.infinity,
child: Row(
children: [
Text(
'[',
style: AppTextStyle.kBlackBold
.copyWith(fontSize: 80.sp, fontWeight: FontWeight.w300),
),
MathsField(
controller: controller.a11,
),
SizedBox(
width: 15.0,
),
MathsField(
controller: controller.a12,
),
Text(
']',
style: AppTextStyle.kBlackBold
.copyWith(fontSize: 80.sp, fontWeight: FontWeight.w300),
),
Text(
'+',
style: AppTextStyle.kBlackBold
.copyWith(fontSize: 80.sp, fontWeight: FontWeight.w300),
),
Text(
'[',
style: AppTextStyle.kBlackBold
.copyWith(fontSize: 80.sp, fontWeight: FontWeight.w300),
),
MathsField(
controller: controller.a21,
),
SizedBox(
width: 15.0,
),
MathsField(
controller: controller.a22,
),
Text(
']',
style: AppTextStyle.kBlackBold
.copyWith(fontSize: 80.sp, fontWeight: FontWeight.w300),
),
],
),
);
}
}
并为每个文本字段制作控制器
TextEditingController a11 = TextEditingController();
TextEditingController a12 = TextEditingController();
TextEditingController a21 = TextEditingController();
TextEditingController a22 = TextEditingController();
谢谢:)
【问题讨论】:
-
如果您添加迄今为止尝试过的代码示例会有所帮助,因为有很多方法可以完成您的要求,而且我们不知道问题到底出在哪里或您面临的问题。您可以通过多种不同方式处理
TextFields 控制器。我建议您处理数据并根据可用数据构建小部件。仅使用控制器更新数据,因为每个TextField将有自己的控制器。当用户转到下一个屏幕时,将数据传递到下一个屏幕,那里的 textFields 应该有自己的控制器.. -
您好,感谢您的回答。我已经更新了你现在可以查看的问题。
标签: flutter dart flutter-layout flutter-animation