美文网首页
Flutter 全局List Widget 不刷新问题

Flutter 全局List Widget 不刷新问题

作者: 星邪Ara | 来源:发表于2020-11-11 16:51 被阅读0次

    Flutter基于不可变数据。就是对象的引用未改变,内容也不会改变。

    问题

    我是在StatefulWidget里面设置了一个全局的List,然后动态改变List里面的内容,然后使用setState刷新,结果发现没有用,点击一下虽然会多出一个新的Item,但是还是原来那个,就是List长度、内容不同,Widget显示的是同一个Widget。
    比如:九宫格添加图片,第一个是添加图片,点击添加图片把图片放到List里面,然后setState刷新,结果发现页面没变化,触碰添加图片Item,就会多出一个添加图片Item。

    解决

    根据Flutter基于不可变数据的原理,我们直接把List换一个引用,创建一个新的List。

    //方法一
    List list = [];
    List list2 = list.toList();
    
    //方法二
    List list = [];
    List list2 = List.from(list);
    
    

    相关文章

      网友评论

          本文标题:Flutter 全局List Widget 不刷新问题

          本文链接:https://www.haomeiwen.com/subject/kltybktx.html