zoukankan      html  css  js  c++  java
  • 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 文本框内容

  • 相关阅读:
    C++ XML文件解析
    coco2d-x create tableView
    cocos2d-x button setTitleLabel
    cocos2d-X create std colorlayer
    Windows cmd "tree"
    C/C++ std::function && std::bind
    C/C++ “std::invoke”: 未找到匹配的重载函数
    31 迭代器 Iterator 是什么?
    30 哪些集合类是线程安全的?
    02 rpx 与 px
  • 原文地址:https://www.cnblogs.com/yuyujuan/p/11055480.html
Copyright © 2011-2022 走看看