小编Vit*_*újo的帖子

Flutter 如何从异步函数中获取数据

我在处理这个问题时遇到了极大的困难。我调用了一个异步函数,它将从 SQLite 获取一些信息,但我似乎无法获取它。它只是呈现一个空屏幕,其中应该是一个列表视图。

List allItems = new List();


Future<void> pegaDados() async{
  var itens = await geraCardapio();

  for (var i = 0; i < itens.length; i++) {
    print((itens[i].toMap()));
    allItems.add(itens[i].toMap());
  }

}

print(pegaDados());


  return ListView.builder(
    itemCount: allItems.length,
    itemBuilder: (context, index) {
      return ListTile(
        leading: Image.asset("assets/"+ allItems[index]['imagem'], fit: BoxFit.contain,),
        title: Text(allItems[index]['pedido']),
        trailing: Text(allItems[index]['valor']),
      );
    },
  );
Run Code Online (Sandbox Code Playgroud)

非常感谢。

我设法得到了解决方案,感谢回答问题的两个人(使用这两种解决方案我设法得到了这个小弗兰肯斯坦)

    Future<dynamic> pegaDados() async{
  var allItems = await geraCardapio();

  return allItems.map((allItems) => allItems.toMap());
}



return FutureBuilder(
      future: pegaDados(),
      builder: (context, snapshot){
        if(snapshot.connectionState == ConnectionState.done){
          print(snapshot.data);
          var …
Run Code Online (Sandbox Code Playgroud)

asynchronous android-sqlite flutter

6
推荐指数
1
解决办法
3700
查看次数

Flutter 如何清理此输入字段的 pincode

我正在尝试为用户创建此输入字段来注册其引脚,但是我不想调用另一个上下文屏幕。因此,要点很简单,用户键入 PIN 码,字段会被清除,屏幕中的文本会发生变化,然后用户再次键入以确认 PIN 码。

我遇到了两个问题。无论我做什么,该字段都不会清除,当我单击该字段再次键入时,状态将重置回第一个引脚输入。这是小部件的代码。

           //Form fields
        StatefulBuilder(
            builder: (BuildContext context, StateSetter setState) {
          return Column(
            children: [
              Container(
                width: 330,
                child: pinCodeType == 1
                    ? Text("Choose a Pincode",
                        style: TextStyle(color: brandBlue, fontSize: 18))
                    : Text("Repeat your Pincode",
                        style: TextStyle(color: brandBlue, fontSize: 18)),
              ),
              Container(
                  height: 90,
                  width: 330,
                  child: pinCodeType == 1
                      ? new PinCodeTextField(
                          enablePinAutofill: false,
                          keyboardAppearance: Brightness.dark,
                          length: 5,
                          obscureText: true,
                          textStyle: TextStyle(color: brandBlue),
                          animationType: AnimationType.scale,
                          keyboardType: TextInputType.numberWithOptions(),
                          autoDisposeControllers: true,
                          pinTheme: PinTheme(
                              shape: PinCodeFieldShape.underline,
                              //borderRadius: BorderRadius.circular(5), …
Run Code Online (Sandbox Code Playgroud)

input dart pin-code flutter

5
推荐指数
1
解决办法
4085
查看次数

标签 统计

flutter ×2

android-sqlite ×1

asynchronous ×1

dart ×1

input ×1

pin-code ×1