android - Flutter 交互式 Text() 在文本更改时重新渲染
问题描述
我有一个 TextField,当我在 OnChange() 中时,我想将变量的状态设置为不同的值。设置此值后,我想重新渲染 Text() 的值。Flutter 不会在状态更改时重新渲染小部件吗?我认为颤振的行为与反应相似,但情况似乎并非如此,至少以直截了当的方式。例如,我想更改 Text 的内容,理想情况下更改为在文本字段中输入的值。我错过了什么吗?我已经尝试浏览文档,但没有发现任何有意义的东西就我想要做的事情而言。
import 'package:flutter/material.dart';
import 'package:wedding_app/models/constants/colors.dart';
import 'package:wedding_app/models/state/budget/budget.dart';
import 'package:intl/intl.dart';
class BudgetPage extends BudgetState {
String totalBudget;
final formatCurrency = new NumberFormat.simpleCurrency();
@override
Widget build(BuildContext context) {
return budgetForm(context);
}
Widget budgetForm(BuildContext context) {
return SafeArea(
top: false,
bottom: false,
child: _widgets(context),
);
}
Widget _widgets(BuildContext context) {
return Material(
child: new Container(
padding: EdgeInsets.all(MediaQuery.of(context).size.width * .05),
color: ApplicationColors.ivory,
child: Container(
child: Center(
child: Column(
children: <Widget>[
Padding(
padding: EdgeInsets.only(top: 8),
),
Text(
totalBudget == "123" ? "123" : "Total Budget", // rerender this on state change of total budget
style: TextStyle(
fontFamily: "acme",
fontSize: 20,
fontWeight: FontWeight.w600,
color: ApplicationColors.black),
),
Padding(
padding: EdgeInsets.only(top: 8),
),
TextField(
keyboardType: TextInputType.number,
decoration: InputDecoration(
hintText: "Enter your budget",
labelText: "Total Budget",
labelStyle: TextStyle(fontFamily: "acme")),
onChanged: (value) {
setState(() {
totalBudget = formatCurrency.format(value);
// tried printing value here with print(totalBudget), but doesn't print to console for some reason. This is where I want to set the state
});
},
)
],
),
),
),
),
);
}
}
解决方案
推荐阅读
- google-oauth - 如果我在 iframe 外部单击,一键登录隐藏
- vba - 在不同的 IDE 中处理 Word 宏
- python -
如何使用 Python获取标签前后的字符串 - java - 尝试在我的 Java Spring API 中实现 Swagger 时出现错误消息
- css - 引导导航居中链接
- d3.js - 如何像geoMercator一样使geoAlbersUSA投影笔直(不弯曲)?
- java - 如何使用注解的值来初始化 bean
- python - 对 API 的 GET 请求
- android-studio - 如何从主要活动调用非静态方法到片段?
- c++ - 从 open62541Client 读取节点的 UA_Arguments