setState之后不重新呈现

时间:2019-03-28 20:47:21

标签: dart flutter

我正在开始颤抖,并完成了本指南(https://flutter.dev/docs/get-started/codelab)。我想通过提供取消选择已保存条目的选项来扩展此应用程序。我的代码在某种意义上可以正常工作,您可以取消选择条目,但是在点击图标后,不会重新呈现“已保存的建议”列表。

完整代码可在此处找到:https://gist.githubusercontent.com/Sfshaza/a95ff8ed0473073197d28437c8d68492/raw/6fb529524047c8c093cb6212dfb66635202ba272/main.dart

我只是在_pushSaved()方法中编辑了这一部分:

final Iterable<ListTile> tiles = _saved.map(
  (WordPair pair) {
    return new ListTile(
      title: new Text(
        pair.asPascalCase,
        style: _biggerFont,
      ),
      trailing: new Icon(
        Icons.favorite,
        color: Colors.red,
      ),
      onTap: () {
        setState(() {
          _saved.remove(pair);
        });
      },
    );
  },
);

我阅读了setState()重新运行build()方法,但是方法_pushSaved()似乎没有重新运行。这是因为_pushSaved()仅在按下列表图标触发onPressed事件时运行吗?删除单词对后,我尝试手动重新运行构建方法,但是它不起作用。

setState(() {
  _saved.remove(pair);
  this.build(context);
});

感谢您的帮助!

0 个答案:

没有答案