Flutter 在文本字段中显示值

时间:2021-03-04 17:33:26

标签: flutter dart

我希望标题足以理解我的问题是什么,我如何在单击时在 TextField 中显示按钮的值?在此先感谢帮助我配置此问题的人。

                TextEditingController _controller;
                void initState() {
                _controller = new TextEditingController(text: '${formatCurrency.format(totalbet)}');
                }
                child: TextField(
                  controller: _controller,
                  textAlignVertical: TextAlignVertical.center,
                  textAlign: TextAlign.center,
                  style: TextStyle(
                    fontSize: globals.fontsize_28,
                    color: Colors.black,
                    fontWeight: FontWeight.bold,
                    fontFamily: "Nunito",
                  ),
                  decoration: new InputDecoration(
                      contentPadding: EdgeInsets.zero,
                      border: new OutlineInputBorder(
                        borderRadius: const BorderRadius.all(
                          const Radius.circular(10.0),
                        ),
                      ),
          
                )

按钮

              child: FlatButton(
                child: Container(
                  child: RichText(
                    text: TextSpan(
                      text: "500",
                      style: TextStyle(
                          fontSize: globals.fontsize_18,
                          color: Colors.white,
                          fontWeight: FontWeight.bold),
                    ),
                  ),
                ),
                onPressed: () {
                  setState(() {
                    if (betbuttonstate[0] == false) {
                      betbuttonstate[0] = true;
                      totalbet = totalbet + betbuttonvalue[0];
                      totalmoney = totalmoney - betbuttonvalue[0];
                    } else {
                      betbuttonstate[0] = false;
                      totalbet = totalbet - betbuttonvalue[0];
                      totalmoney = totalmoney + betbuttonvalue[0];
                    }
                  });
                },
              ),

2 个答案:

答案 0 :(得分:1)

像这样按下 setState() 按钮时,通过控制器 _controller.text = newValue 更改值。

onTap: (){
setState((){
_controller.text=newValue
});
}

答案 1 :(得分:0)

在按钮的 onPressed 方法中试试这个

                  setState(() {
                    if (betbuttonstate[0] == false) {
                      betbuttonstate[0] = true;
                      totalbet = totalbet + betbuttonvalue[0];
                      totalmoney = totalmoney - betbuttonvalue[0];
                    } else {
                      betbuttonstate[0] = false;
                      totalbet = totalbet - betbuttonvalue[0];
                      totalmoney = totalmoney + betbuttonvalue[0];
                    }
                    _controller.text = '${formatCurrency.format(totalbet)}';

您的 initState 应如下所示

  @override
  void initState() {
    super.initState();
    _controller =
        new TextEditingController(text: '${formatCurrency.format(totalbet)}');
  }