import 'package:flutter/material.dart';
import 'package:rxdart/rxdart.dart';
import 'dart:async'; class RxDartDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('RxDartDemo'),
elevation: 0.0,
),
body: RxDartDemoHome(),
);
}
} class RxDartDemoHome extends StatefulWidget {
@override
_RxDartDemoHomeState createState() => _RxDartDemoHomeState();
} class _RxDartDemoHomeState extends State<RxDartDemoHome> {
PublishSubject<String> _textFieldSubject; @override
void initState() {
super.initState(); _textFieldSubject = PublishSubject<String>(); _textFieldSubject
// .map((item) => 'item: $item')
// .where((item) => item.length > 9)
.debounce(Duration(milliseconds: 500))
.listen((data) => print(data)); // Observable<String> _observable =
// // Observable(Stream.fromIterable(['hello', '您好']));
// // Observable.fromFuture(Future.value('hello ~'));
// // Observable.fromIterable(['hello', '您好']);
// // Observable.just('hello ~');
// Observable.periodic(Duration(seconds: 3), (x) => x.toString()); // _observable.listen(print); // PublishSubject<String> _subject = PublishSubject<String>();
// BehaviorSubject<String> _subject = BehaviorSubject<String>();
// ReplaySubject<String> _subject = ReplaySubject<String>(maxSize: 2); // _subject.add('hello');
// _subject.add('hola');
// _subject.add('hi');
// _subject.listen((data) => print('listen 1: $data'));
// _subject.listen((data) => print('listen 2: ${data.toUpperCase()}')); // _subject.close();
} @override
void dispose() {
super.dispose();
_textFieldSubject.close();
} @override
Widget build(BuildContext context) {
return Theme(
data: Theme.of(context).copyWith(
primaryColor: Colors.black,
),
child: TextField(
onChanged: (value) {
_textFieldSubject.add('input: $value');
},
onSubmitted: (value) {
_textFieldSubject.add('submit: $value');
},
decoration: InputDecoration(
labelText: 'Title',
filled: true,
),
),
);
}
}

最新文章

  1. 扑面而来的碎片--图片3D炸裂效果初体验
  2. texrecon进行纹理映射
  3. jQuery返回顶部代码组件
  4. SpringMVC利用拦截器防止SQL注入
  5. RabbitMQ+PHP 消息队列环境配置
  6. 自定义UICollectionViewLayout并添加UIDynamic - scorpiozj(转)
  7. 四种方案:将OpenStack私有云部署到Hadoop MapReduce环境中
  8. Android Studio 连接真机调试
  9. HDU 4393 Throw nails(优先队列)
  10. MM们,你们为什么要找一个程序猿男票?
  11. C# checked和unchecked详解
  12. facenet 进行人脸识别测试
  13. org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.lang.Integer
  14. 解决IsEditable=&quot;True&quot;的ComboBox在DataGrid中点击一次不能选中行的问题
  15. 19_04_02校内训练[deadline]
  16. 微信小程序的界面下拉刷新
  17. windows 常用dos命令
  18. PO接口表
  19. Orcale11g单机安装与卸载
  20. layerui如何隐藏按钮?

热门文章

  1. pyspark AttributeError: &#39;NoneType&#39; object has no attribute &#39;setCallSite&#39;
  2. mingw控制台中文乱码
  3. workerman——消息推送(web-msg-send)
  4. Idea和eclipse安装activiti插件
  5. matlat保存矩阵数据
  6. js通过html的url获取参数值
  7. 1.6synchronized代码块
  8. 【洛谷2791】 幼儿园篮球题 第二类斯特林数+NTT
  9. [matlab工具箱] 曲线拟合Curve Fitting
  10. LibreOJ #528. 「LibreOJ β Round #4」求和