zoukankan      html  css  js  c++  java
  • Flutter-TextField初始化值和選中取值

    import 'package:flutter/material.dart';
    
    class PersonalCenterInformationScreen extends StatefulWidget {
      @override
      _PersonalCenterInformationScreenState createState() => _PersonalCenterInformationScreenState();
    }
    
    class _PersonalCenterInformationScreenState extends State<PersonalCenterInformationScreen> {
      //初始化賦值
      var _username = new TextEditingController();
      var age = new TextEditingController();
      var _userName;
      @override
      void initState() {
        // TODO: implement initState
        super.initState();
        this._username.text = '李家長';
        this.age.text = '18';
      }
      @override
      Widget build(BuildContext context) {
        final width = MediaQuery.of(context).size.width;
        return Scaffold(
          appBar: AppBar(
            title:Text('學生個人信息')
          ),
          body: Padding(
            padding: EdgeInsets.all(10),
            child: Column(
              children: <Widget>[
                Row(
                  children: <Widget>[
                    Container(
                      child: Text(
                        '姓名:',
                        style: TextStyle(
                          fontWeight: FontWeight.bold,
                          fontSize: 15
                        ),
                      ),
                    ),
                    Container(
                       width*0.7,
                      child: TextField(
                        decoration: InputDecoration(
                          hintText: '請輸入名字',
                        ),
                        //利用控制器初始化
                        controller: this._username,
                        //發生改變事賦值
                        onChanged:(val){
                          this._userName = val;
                        } ,
                      ),
                    ),
                  ],
                ),
                Row(
                  children: <Widget>[
                    Container(
                      child: Text(
                        '年齡:',
                        style: TextStyle(
                            fontWeight: FontWeight.bold,
                            fontSize: 15
                        ),
                      ),
                    ),
                    Container(
                       width*0.7,
                      child: TextField(
                        decoration: InputDecoration(
                          hintText: '請輸入年齡',
                        ),
                        controller: this.age,
                      ),
                    ),
                  ],
                ),
                Row(
                  children: <Widget>[
                    Container(
                      child: Text(
                        '性別:',
                        style: TextStyle(
                            fontWeight: FontWeight.bold,
                            fontSize: 15
                        ),
                      ),
                    ),
                  ],
                ),
                Container(
                   double.infinity,
                  child: RaisedButton(
                    child: Text('修改'),
                    onPressed: (){
                      //輸出控制台
                      print(this._userName);
                    },
                  ),
                ),
              ],
            ),
          ),
        );
      }
    }

    test

  • 相关阅读:
    ASP.NET MVC 与 Web Forms
    去除两端margin的方法
    Media Queries之Respond.js
    ECMAScript5严格模式
    用rem设置文字大小
    BFC与hasLayout
    快速把项目部署到webLogic上
    判断一个坐标点是否在不规则多边形内部的算法
    Git 工作流的正确打开方式
    Java设计模式六大原则
  • 原文地址:https://www.cnblogs.com/ssjf/p/11805685.html
Copyright © 2011-2022 走看看