flutter - 从底部表单弹出后如何更改文本字段文本值
问题描述
单击文本字段时,我的代码会显示底部工作表小部件。底部工作表有一些按钮,单击并保存弹出底部工作表。但是,弹出后它会获取值,但不会将文本字段文本更改为该值。
我的代码:
Widget _additionInformation() {
TextEditingController statusController = TextEditingController();
return Padding(
padding: EdgeInsets.symmetric(horizontal: 40),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
TextFormField(
onTap: () {
showModalBottomSheet(
context: context,
isScrollControlled: false,
isDismissible: false,
builder: (context) => BottomSheetSettingWidget(
['None', 'Yes', 'No'])).then((value) {
setState(() {
print(value);
statusController.text = value;
});
});
},
controller: statusController,
decoration: InputDecoration(
fillColor: Colors.white,
filled: true,
contentPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 10),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey[400])),
border: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey[400])),
),
),
],
),
);
}
解决方案
context
将 和 acontroller
作为参数传递给您创建的 _additionInformation 小部件,我在下面添加了一个演示代码:
Widget _additionInformation(BuildContext context) {
return Padding(
padding: EdgeInsets.symmetric(horizontal: 40),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
TextFormField(
onTap: () {
showModalBottomSheet(
context: context,
isScrollControlled: false,
isDismissible: false,
builder: (context) => BottomSheetSettingWidget(
['None', 'Yes', 'No'])).then((value) {
print(value);
statusController.text = value;
});
},
controller: statusController,
decoration: InputDecoration(
fillColor: Colors.white,
filled: true,
contentPadding: EdgeInsets.symmetric(vertical: 0, horizontal: 10),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey[400])),
border: OutlineInputBorder(
borderSide: BorderSide(color: Colors.grey[400])),
),
),
],
),
);
}
之后,TextEditingController
在您的ProfileEditPage
. 像TextEditingController statusController = TextEditingController();
瞧!!快乐编码:)
推荐阅读
- r - 有没有办法将包表(例如 stargazer)更改为 R 中的默认表输出?
- sql - 在 BigQuery 中选择值?
- mongodb - 如何从数据库中获取数据块并在 Spring 中并行处理它们
- maven - NetBeans 12.1 名称已由 servlet | 定义 名称无效
- sql-server - 迭代查询结果时发生异常...任务已取消
- java - JOOQ 解析器问题(POSTGRES 到 H2 的翻译)
- java - 在第 2 次出现分隔符(包括分隔符)后获取整个子字符串
- google-apps-script - 使用工作表名称时 getRangeByName 返回 null
- apache - 图片请求得到 404,浏览器得到 200
- javascript - 在“react-bootstrap-daterangepicker”中更改日历语言的语言环境不起作用?