如何基于Flutter中另一个文本字段的值自动为文本字段设置值?

时间:2019-08-27 01:57:12

标签: flutter

Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text("Postal Code"),
        TextField(
          controller: controllerPostalCode,
        ),

        // if controllerPostalCode not null
        Container(
            child: FutureBuilder<AddressCtrl>(   //Future Builder that hold data on State and Country
                future: getDataCtrl(),
                builder: (context, snapshot) {
                  if (snapshot.hasData) {
                    if (snapshot.data.result == null) {
                      return Container();
                    } else {
                      return Container(
                        child: Column(
                          children: <Widget>[
                            Text("State"),
                            TextField(
                              decoration: InputDecoration(
                                  hintText: snapshot.data.result[index].State // value will be display after user input Postal Code text field
                                  ),
                            ),
                            Text("Country"),
                            TextField(
                              decoration: InputDecoration(
                                  hintText: snapshot.data.result[index].Country // value will be display after user input Postal Code text field
                                  ),
                            )
                          ],
                        ),
                      );
                    }
                  }
                })),
      ],
    ),
  ),

我想根据用户在“邮政编码”文本字段上输入的值自动将值输入到两个文本字段(在本例中为“州”和“国家”),而无需单击任何按钮。我发现了很多与此问题有关的问题,但在Dart / Flutter中找不到。

其他说明:“州”和“国家/地区”的值来自REST API。

2 个答案:

答案 0 :(得分:1)

在文本中使用

var textController = new TextEditingController();

答案 1 :(得分:0)

我认为您可以在邮政编码中使用onTextChanged方法,并在setState中更改邮政编码文本字段中保存文本的变量。然后在需要的地方使用它(变量)。

这个doc将为您提供更多帮助。

希望我能帮助您。