Flutter 文本输入

· 约 6 分钟读完 · 第 23 / 31 章

在移动应用开发中,文本输入是一个基本且常见的功能。Flutter 提供了多种控件来实现这一功能,其中最常用的是 TextField 和 TextFormField。这两个组件都用于收集用户输入的文本数据,但它们在一些特定场景下有着不同的用途和优势。

TextField 组件

基本使用

TextField 是一个简单的文本输入框,可以用来接收用户的文本输入。下面是一个简单的示例:

控制文本显示

通过 obscureText 属性,可以将输入的文本以点号或其他字符代替,常用于密码输入:

自定义输入提示

通过 hintText 可以为用户提供一些输入提示信息:

文本输入监听

可以通过设置 onChanged 回调函数来监听文本变化,并进行相应的处理:

TextFormField 组件

TextFormField 是 TextField 的封装,它增加了表单验证的功能,适合用于需要验证用户输入的场景。

基本使用

与 TextField 类似,TextFormField 也可以用来创建文本输入框:

验证规则

通过 validator 属性,可以对输入的数据进行验证,确保其符合预期格式:

自动填充

TextFormField 支持自动填充功能,可以在用户输入时提供自动补全建议:

总结

TextField 和 TextFormField 是 Flutter 中用于文本输入的两个重要组件。前者简单易用,适用于大多数文本输入场景;后者则更适用于需要表单验证和自动填充功能的应用。了解这些组件的基本用法和高级特性,可以帮助开发者构建出更加丰富和灵活的用户界面。