类型'_ControllerSubscription '不是类型'Stream ' ] >>

问题描述 投票:0回答:1

我正在使用bloc将数据输入到textField并将其存储在变量中。在将侦听器添加到流后,我不断收到错误消息:“类型'_ControllerSubscription'不是类型'流'的子类型。”

UI:

/****/
   Widget build(BuildContext context) {
    Size size = MediaQuery.of(context).size;
    var bloc = Bloc();

    return Container(
      color: Colors.white,
      child: Column(children: <Widget>[
        SizedBox(height: size.height *.2 ,),
  StreamBuilder( stream: bloc.textStream,
     builder:    (context, snapshot ){
       return  Container(
          width: size.height * .5,
          height: size.height *.2,
          child: TextField(
 onChanged: bloc.changeText,
      textAlign: TextAlign.right,
      decoration: InputDecoration(
        hintStyle: TextStyle(
          fontSize: 14,
          color: Colors.black,
        ),),
 /****
   *****/   

集团:

import 'dart:async';

class Bloc {

var _text='';
final  _textFieldController = StreamController<String>();

 get textStream => _textFieldController.stream
                  .listen( (value){_text = value;});    

 Function(String) get changeText => _textFieldController.sink.add;

  void dispose() {
   _textFieldController.close();
  }

}

我正在使用bloc将数据输入到textField并将其存储在变量中。我不断收到错误:添加...

flutter stream listener bloc
1个回答
0
投票
之后,类型'_ControllerSubscription'不是类型'Stream'的子类型”

尝试替换

get textStream => _textFieldController.stream
                  .listen( (value){_text = value;});  
© www.soinside.com 2019 - 2024. All rights reserved.