zoukankan      html  css  js  c++  java
  • 组件ListWidget 继承StatefulWidget后动态传入List数据,组件并不会重新渲染。

    问题:

    一个ListWidget 继承与 StatefulWidget 当第一次加载时list为[],第二次list有数据时 ListWidget里面的list还是为[],而在调用方是有数据的。

    Widget ListWidget extends StatefulWidget {
        @override
        State<ListWidget> createState() => _ListWidgetState(list: []);
    }
    Widget _ListWidgetState extends State<ListWidget> {
        List<String> list;
        _ListWidgetState(this.list)
        @Override 
        Widget build(BuildContext buildContext) {
            return null;
        }
    }
    

    解决办法:

    1、将ListWidget继承与StatelessWidget
    2、还是继承与StatefulWidget 每次改变ListWidget构造函数中的Key即可(类似于Vue中的Key效果)

    官方解释:

    如果一个widget发生了变化(例如用户与它交互),它就是有状态的。但是,如果一个子widget对变化做出反应,而其父widget对变化没有反应,那么包含的父widget仍然可以是无状态的widget

  • 相关阅读:
    python scrapter
    java Clone
    Burp Suite使用
    Drools 简单应用实例1
    Metasploitable 2 备译
    java drools material
    设计模式之Facade/Adaptor/Proxy示例
    sqlmap example
    Mutillidae setup
    groovy template应用
  • 原文地址:https://www.cnblogs.com/xyqbk/p/13582943.html
Copyright © 2011-2022 走看看