flutter中的表单使用

Flutter 中常见的表单有 TextField 单行文本框,TextField 多行文本框、CheckBox、Radio、Switch、CheckboxListTile、RadioListTile、SwitchListTile、Slide. 

TextField 文本框组件

常用属性:

  • maxLines :设置此参数可以把文本框改为多行文本框
  • onChanged: 文本框改变的时候触发的事件
  • decoration:hintText 类似 html 中的 placeholder ;border 配置文本框边框 OutlineInputBorder 配合使用 ;labelText lable 的名称 ;labelStyle 配置 lable 的样式 
  • obscureText :把文本框框改为密码框
  • controller :controller 结合 TextEditingController()可以配置表单默认显示的内容

首先需要注意的是,因为表单就会涉及到表单值得改变,因此,需要使用StatefulWidget:

import 'package:flutter/material.dart';

void main(){ runApp(MyApp());}

class MyApp extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home:Scaffold(
        appBar: AppBar(
          title:Text("flutter demo")
        ),
        body: TextFieldDemoPage(),
      )
    );
  }
}

class TextFieldDemoPage extends StatefulWidget {
  TextFieldDemoPage({Key key}) : super(key: key);
  _TextFieldDemoPageState createState() => _TextFieldDemoPageState();
}

class _TextFieldDemoPageState extends State<TextFieldDemoPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('表单演示页面'),
      ),
      body: Padding(
        padding: EdgeInsets.all(20),
        child:Column(
          children: <Widget>[
            TextField(
              decoration: InputDecoration(
                hintText: "请输入用户名"
              ),
            ),
          ],
        ) ,     
      )
    );
  }
}

上面实现了TextField的简单使用。然后,我们还可以结合上面的常用属性,实现一些其他的功能和样式:

   

 

代码下载:点这里(提取码:ud89)

 

 

 获取TextField 文本框内容

 

 

 

 

posted on 2019-09-19 09:12  紅葉  阅读(1234)  评论(0编辑  收藏  举报