小编Jul*_*lia的帖子

在构造函数中调用 SetState()

我已经建立了一个定制列表。现在我包含一个复选框,如果我选中或取消选中,则会引发以下错误:“在构造函数中调用 setState()”

\n\n
class Lists extends StatefulWidget{  \n     @override\n    _List createState() => _List();\n}\n\nclass _List extends State<Lists> {  \n  bool checkedvalue = true;\n  @override\nWidget build(BuildContext context) {\n\n return futureBuilder();\n}\n\nWidget futureBuilder(){  \n  var futureBuilder = new FutureBuilder(\n      future: rest.fetchPost(),\n      builder: (BuildContext context, AsyncSnapshot snapshot) {\n        switch (snapshot.connectionState) {\n          case ConnectionState.none:\n          case ConnectionState.waiting:\n            return new Text('loading...');\n          default:\n            if (snapshot.hasError)\n              return new Text('Error: ${snapshot.error}');\n            else                    \n                return listBuilder(context, snapshot);            \n        }\n      }\n );\n\n return new Scaffold(         \n      body: futureBuilder,\n    );\n}\n\nWidget listBuilder(BuildContext context, AsyncSnapshot snapshot) …
Run Code Online (Sandbox Code Playgroud)

checkbox setstate flutter statefulwidget

4
推荐指数
1
解决办法
1万
查看次数

类型 Future&lt;dynamic&gt; 不是类型 FutureOr&lt;List&lt;Status&gt;&gt; 的子类型

我需要你的帮助..我有一份清单CheckboxListTile。如果我选中或取消选中某个项目,列表将重新加载。所以我用AsyncMemoizer.

现在返回以下错误:'Future<dynamic> is not a subtype of type Future<List<Status>>'

也许您有其他想法,因为我可以用不同的方式解决列表中的问题

final AsyncMemoizer _memoizer = AsyncMemoizer();
Future<List<Status>> fetchPost(){

  return _memoizer.runOnce(() async {
   final response =
      await http.get(URL);

      if (response.statusCode == 200) {    
        List<Status> tmp = Status.fromJsonList(json.decode(response.body));
        return tmp;
     } else {    
        throw Exception('Failed to load post');
     }

   });
}
static List<Status>  fromJsonList(List<dynamic> json) {
    List<Status> ret = new List<Status>();

    for (int i=0;i<json.length;i++){
      Status itm = Status(
      id: json[i]['I'],
      geschlecht: json[i]['G'],
      adresse: json[i]['A'],
      name: json[i]['AZ'], 
      //Checkbox
      isSelected …
Run Code Online (Sandbox Code Playgroud)

flutter

0
推荐指数
1
解决办法
1083
查看次数

标签 统计

flutter ×2

checkbox ×1

setstate ×1

statefulwidget ×1