flutter 文本域
时间: 2024-06-22 22:03:11 浏览: 4
在Flutter中,`TextField` 是一个用于收集用户输入的表单组件,主要用于获取文本数据。它允许用户直接在界面上输入文字,常用于邮箱、密码、搜索框等场景。以下是`TextField`的基本使用和一些常见属性:
1. **基础用法**[^1]:
```dart
import 'package:flutter/material.dart';
class TextFieldDemo extends StatefulWidget {
@override
_TextFieldDemoState createState() => _TextFieldDemoState();
}
class _TextFieldDemoState extends State<TextFieldDemo> {
final TextEditingController _controller = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('TextField Demo')),
body: Padding(
padding: EdgeInsets.all(16),
child: TextField(
controller: _controller,
decoration: InputDecoration(labelText: '请输入内容'),
),
),
);
}
}
```
在这个例子中,`TextEditingController`用于管理输入框的文本。
2. **属性设置**:
- `decoration`: 可以设置输入框的样式,如边框、提示文本等。
- `maxLines`: 设置最大行数,`singleLine`表示单行,`multiLine`表示多行。
- `keyboardType`: 控制键盘类型,如` TextInputType.text`(默认),`textEmailAddress`,`numberDecimal`等。
3. **验证和响应**:
你可以监听`onChanged`事件来实时获取用户输入,或者使用`onSubmitted`处理表单提交时的验证逻辑。