簡體   English   中英

flutter 流塊顯示句柄可見 state

[英]flutter streams bloc to show handle visible state

我有一個小部件isLive ,它根據 bloc 返回的值更改 state。但是每次我運行我得到的應用程序

在 null 上調用了 getter 'progressStateStream'

我試着按照這個答案

 Widget isLive() {
    return Container(
        child: StreamBuilder<bool>(
      stream: _bloc.progressStateStream,
      builder: (context, snapshot) {

        return Visibility(
          maintainState: true,
          visible: snapshot.data ?? false,
          child: ClipRRect(
            borderRadius: BorderRadius.all(Radius.circular(10)),
            child: Container(
              color: Colors.pink[50],
              height: 50,
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                children: <Widget>[

                  Text("yaay i'm visible"),

                  RaisedButton(
                    shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(20)),
                    child: Text(
                      "hide"
                    ),
                    color: Colors.white,
                    onPressed: () {
                      _bloc.changeProgressState(state: false);
                    },
                  )
                ],
              ),
            ),
          ),
        );
      },
    ));
  }

這是我的集團

  //this Subject allows sending data, error and done events to the listener
  final PublishSubject<bool> _progressStateSubject = new PublishSubject();

  //the listener are streaming on changes
  Observable<bool> get progressStateStream => _progressStateSubject.stream;

  //to change your progress state
  void changeProgressState({bool state}) => _progressStateSubject.sink.add(state);

另外,如果我想用含水塊保存 state 我將如何處理 go

通過將 bloc 添加到 init state 來在 init state 中初始化我的 bloc

_bloc = RBloc();
 _bloc.progressStateStream;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM