首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将一个文件中的有状态小部件中创建的列表访问到另一个文件中的无状态小部件?

如何将一个文件中的有状态小部件中创建的列表访问到另一个文件中的无状态小部件?
EN

Stack Overflow用户
提问于 2020-08-23 14:32:28
回答 1查看 183关注 0票数 0

我有一个有状态的小部件,其中有一个这样的列表,

代码语言:javascript
运行
复制
import 'package:flutter/material.dart';
import 'package:todoapp/widgets/tasks_tile.dart';
import 'package:todoapp/models/Tasks.dart';

class TasksList extends StatefulWidget {
  @override
  _TasksListState createState() => _TasksListState();
}

class _TasksListState extends State<TasksList> {
  List<Task> task = [
    Task(
      taskTitle: "Buy Bread",
    ),
    Task(
      taskTitle: "Buy Cream",
    ),
    Task(
      taskTitle: "Buy Beer",
    )
  ];
  @override
  Widget build(BuildContext context) {
    return ListView.builder(
      itemCount: task.length,
      itemBuilder: (context,index){
        return TaskTile(isChecked: task[index].isDone,
        taskText: task[index].taskTitle,
        callBackCheckBox: (bool checkBoxState){
          setState(() {
            task[index].toogleDone();
          });
        });
    });
  }
}

如何在另一个dart文件中的无状态小部件中访问此列表?我是第一次接触flutter。请解释一下它背后的概念。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-23 14:57:58

访问task列表的Aman Chaudhary通过在另一个dart文件中传递Stateless小部件构造器中所有需要的值来完成。

在这里,您可以看到您的ListView.builder正在返回带有所有必需参数的stateless小部件:

代码语言:javascript
运行
复制
return ListView.builder(
      itemCount: task.length,
      itemBuilder: (context,index){
        return TaskTile(isChecked: task[index].isDone,
        taskText: task[index].taskTitle,
        callBackCheckBox: (bool checkBoxState){
          setState(() {
            task[index].toogleDone();
          });
        });
    });

这意味着,每当处理callBackCheckBox时,都会刷新stateful小部件,并且ListView.builder会用所有task列表更新来更新他的子项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63544086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档