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: 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: 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(
              width: double.infinity,
              child: RaisedButton(
                child: Text('修改'),
                onPressed: (){
                  //輸出控制台
                  print(this._userName);
                },
              ),
            ),
          ],
        ),
      ),
    );
  }
}

test


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM