一 简单使用
import 'dart:async';
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
/// 1 创建
StreamController<List<String>> _dataController = StreamController();
/// 2 获取streamSink 做 add 入口
StreamSink get _dataSink => _dataController.sink;
/// 3 获取Stream 用于监听
Stream<List<String>> get _dataStream => _dataController.stream;
/// 4 事件订阅对象
StreamSubscription? _dataSubScription;
@override
void initState() {
// TODO: implement initState
super.initState();
// 监听事件
_dataSubScription = _dataStream.listen((event) {
print(event);
});
}
onClick() {
// 改变事件
_dataSink.add(["111"]);
}
@override
Widget build(BuildContext context) {
return Sc