• Flutter——TextField组件(文本框组件)


    TextField组件的常用属性:

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

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MaterialApp(
        title: "Form",
        home: MyApp(),
      ));
    }
    
    class MyApp extends StatefulWidget {
      @override
      _MyAppState createState() => _MyAppState();
    }
    
    class _MyAppState extends State<MyApp> {
      var _username = TextEditingController(); //初始化时给表单赋值,需要用这个
      var _password;
    
      @override
      void initState() {
        super.initState();
        _username.text = "初始值";
      }
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(title: Text("Form")),
          body: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              TextField(
                decoration: InputDecoration(
                  hintText: "请输入用户名",
                ),
                controller: _username,
                onChanged: (value) {
                  setState(() {
                    _username.text = value;
                  });
                },
              ),
              SizedBox(height: 10.0),
              TextField(
                obscureText: true,
                decoration: InputDecoration(
                  hintText: "请输入密码",
                  labelText: "123",
                  border: OutlineInputBorder()  // 外部包裹框框
                ),
                onChanged: (value) {
                  setState(() {
                    this._password = value;
                  });
                },
              ),
              SizedBox(height: 10.0),
              Container(
                 double.infinity,
                height: 40,
                child: RaisedButton(
                  child: Text("登录"),
                  onPressed: () {
                    print(this._username);
                    print(this._password);
                  },
                  color: Colors.blue,
                  textColor: Colors.white,
                ),
              )
            ],
          ),
        );
      }
    }
  • 相关阅读:
    [deviceone开发]-echart的简单报表示例
    [deviceone开发]-do_GridView的简单示例
    [deviceone开发]-天气demo
    [deviceone开发]-QQ分享、微信分享和新浪微博分享
    [deviceone开发]-HeaderView和FooterView的示例
    [deviceone开发]-动画示例源码
    C#之文件的读写(一)
    try-catch-finally 用法
    C# datetime 格式化
    C#中foreach的用法
  • 原文地址:https://www.cnblogs.com/chichung/p/12020719.html
Copyright © 2020-2023  润新知