dart - flutter 将值设置为文本字段

标签 dart flutter

我是新来的 flutter 。我有一个包含联系人列表(姓名、电话、地址)的项目,当用户点击联系人时,我将他发送到编辑表单,我想用联系人数据填写表单。 我使用文本字段进行输入并通过小部件获取数据,例如:widget.contact.data['name']。 我找不到这个问题的任何答案。

最佳答案

有两种方法可以从 TextField 中访问文本,如 Flutter 的 docs 所示.

第一个是通过onChanged回调,有一个参数就是当前文本。

TextField(
  onChanged: (text) {
    // do what you want with the text
  },
);

对于文本的更高级处理,包括从 build() 方法之外访问它,您可以使用 TextEditingController .

final _controller = TextEditingController();

然后您可以将其链接到您的 TextField:

TextField(
  // other parameters
  controller: _controller,
);

别忘了扔掉它!

@override
void dispose() {
  // other dispose methods
  _controller.dispose();
  super.dispose();
}

现在您可以通过访问 _controller.text 的值或修改它来设置或获取文本。例如:

获取:print(_controller.text);

设置:_controller.text = 'newText'//现在 TextField 将写入 'newText'

或者您可以使用 addListener 来监听更改,因此每当更新文本时,都会调用您选择的函数:

@override
void initState() {
    super.initState();
    _controller.addListener(_handleText);
    // other code here
}

_handleText() {
   // do what you want with the text, for example:
   print(_controller.text);
}

关于dart - flutter 将值设置为文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54987699/

相关文章:

dart - Flutter中的NumberPicker小部件?

android - 如何解决 : Android license status unknown and also Android sdkmanager tool not found?

dart - Dart apt repo 的 NO_PUBKEY "4EB27DB2A3B88B8B"

firebase - 如何在 Flutter 的 firebase_database 中执行事务?

flutter : "Could not resolved the package" every install new packages

flutter - 如何使用multi_image_picker:^ 4.6.7和Dio in flutter上传多张图片?

flutter - 返回按钮,用于退出应用程序,而不用于返回其他屏幕

unit-testing - 测试超时应该取消 EventChannel 并抛出 TimeoutException

flutter - 如何在widgetTree之外访问rxdart-bloc函数?

ios - 升级我的 flutter 版本后无法构建 iOS 应用程序