UI 不更新无状态小部件

时间:2021-05-28 16:56:03

标签: flutter dart

我目前遇到更新无状态小部件的问题。有什么我想念的吗。基本上当我点击小部件中的图标时,我希望它从列表中删除数据并更新 UI,因此图标数据不再显示

Future<void> _removeIncluded(BuildContext context) async {
for (int i = 0; i < includedList.length; i++) {
  print(includedList[i].title);
  print(title);
  if (includedList[i].title == this.title) {
    includedList.remove(includedList[i]);
    included.remove(this.title);
    // includedList.removeAt(i);
    // included.removeAt(i);
  }
}
rebuildAllChildren(context);

}

 void rebuildAllChildren(BuildContext context) {
void rebuild(Element el) {
  el.markNeedsBuild();
  el.visitChildren(rebuild);
}

(context as Element).visitChildren(rebuild);

}

Widget build(BuildContext context) {
return Padding(
    padding: const EdgeInsets.symmetric(horizontal: 2.5),
    child: Container(
      decoration: BoxDecoration(
          color: Color(0xffDEDEDE), borderRadius: BorderRadius.circular(4)),
      child: Expanded(
        child: Row(
            //   padding: const EdgeInsets.all(8),
            children: [
              Padding(
                padding: const EdgeInsets.all(8),
                child: Text(
                  title.toString(),
                  style: TextStyle(
                      fontFamily: "Montserrat Regular", fontSize: 12),
                ),
              ),
              IconButton(
                  icon: Icon(Icons.close_outlined, size: 20),
                  onPressed: () {
                    _removeIncluded(context);
                  })
            ]),
      ),
    ));

0 个答案:

没有答案