Flutter中的TextField是一个常用的文本输入框控件,用于接收用户输入的文本。它提供了多种属性和回调函数来控制和监听输入过程。以下是TextField的一些常用属性和方法:
- controller:设置一个TextEditingController对象作为文本输入控制器,可以通过该控制器获取或设置输入框中的文本内容。
- onChanged:设置一个回调函数,当输入框的内容发生变化时会触发该函数。
- onSubmitted:设置一个回调函数,在用户提交文本后(按下回车键)会触发该函数。
- decoration:用于设置输入框的外观样式,包括边框、背景色等。
- keyboardType:指定键盘的类型,如文本、数字、电话号码等。
- obscureText:设置是否隐藏输入的文本,适用于密码输入场景。
- maxLength:限制输入的最大长度。
- validator:设置一个验证器函数,用于校验输入的内容是否符合要求。
TextField(
controller: _textEditingController,
onChanged: (value) {
// 输入框内容改变时触发的回调
print("输入框内容:$value");
},
onSubmitted: (value) {
// 用户提交文本后触发的回调
print("提交的文本:$value");
},
decoration: InputDecoration(
border: OutlineInputBorder(), // 设置边框样式
hintText: '请输入文字', // 设置提示文本
labelText: '文本输入', // 设置标签文本
),
keyboardType: TextInputType.text, // 设置键盘类型为文本
obscureText: false, // 是否隐藏输入的文本
maxLength: 10, // 最大输入长度
validator: (value) {
if (value.isEmpty) {
return '请输入文字';
}
return null;
},
)
InputDecoration是Flutter中的一个类,用于设置输入框的外观样式和提示文本等属性。它可以作为TextField、TextFormField等控件的decoration属性来使用。
下面是InputDecoration常用的属性:
- labelText:设置输入框上方的标签文本。
- hintText:设置输入框内的提示文本,当输入框为空时显示。
- prefixIcon:在输入框前面添加一个图标。
- suffixIcon:在输入框后面添加一个图标。
- contentPadding:设置输入框内容的内边距。
- border:设置输入框的边框样式。
- enabledBorder:设置输入框在禁用状态下的边框样式。
- focusedBorder:设置输入框在获取焦点时的边框样式。
- errorBorder:设置输入框在验证出错时的边框样式。
- filled:是否给输入框添加背景色,默认为false。
- fillColor:设置输入框的背景色。
- errorText:设置输入框下方的错误提示文本。