移除按钮并加载数据

Posted

技术标签:

【中文标题】移除按钮并加载数据【英文标题】:Removing button and load data 【发布时间】:2022-01-21 14:27:47 【问题描述】:

大家好,我需要帮助来删除此按钮并从 json 文件中加载数据,而无需单击该按钮 这是代码

List _items = [];

//从json文件中获取内容

@覆盖 小部件构建(BuildContext 上下文) 未来的 readJson() 异步 最终字符串响应 = 等待 rootBundle.loadString('assets/aaaa.json'); 最终数据 = 等待 json.decode(response); 设置状态(() _items = 数据['first']; );

return Scaffold(
  body: Padding(
    padding: const EdgeInsets.all(25),
    child: Column(
      children: [
        ElevatedButton(
          child: const Text('Load Data'),
          onPressed: readJson,
        ),
        // Display the data loaded from sample.json
        _items.isNotEmpty
            ? Expanded(
                child: ListView.builder(
                  itemCount: _items.length,
                  itemBuilder: (context, index) 
                    return Card(
                      margin: const EdgeInsets.all(10),
                      child: ListTile(
                        leading: Text(_items[index]["aaaaa"]),
                        title: Text(_items[index]["aaaaa"]),
                        subtitle: Text(_items[index]["aaaaaa"]),
                      ),
                    );
                  ,
                ),
              )
            : Container()
      ],
    ),
  ),
);

【问题讨论】:

在***上发帖之前,请阅读您使用的工具的文档。 【参考方案1】:

您应该查看Future Builder。该页面上有一些关于如何使用小部件的很好的示例,包括如何根据数据是否已加载、正在加载或出现错误来显示不同的小部件。 readJson 将是你的未来。

【讨论】:

以上是关于移除按钮并加载数据的主要内容,如果未能解决你的问题,请参考以下文章

无法移除组件并重新绘制

C#winform控件动态添加和动态移除

材质 UI 按钮移除焦点框

完全移除 CSS 属性

vue + element 动态渲染移除表单并添加验证

如何在 Angular2 中为被移除的组件捕获 onDestroy