我在Statefull类中有一个StreamBuilder
小部件,能够根据TextController中的用户输入来限制结果。现在,我想向流中添加一个侦听器,并检查是否tests.length == 1
。如果匹配,则将变量设置为true并重建UI。
现在,我尝试添加一个ValueNotifier()
,但显然我们无法在呈现树的其余部分之前重建UI。如何在构建UI后向StreamBuilder添加侦听器以获取长度 ?
StreamBuilder<List<TestWithTestType>> _buildTestList(BuildContext context) {
final database = Provider.of<AppDatabase>(context);
return StreamBuilder(
stream: database.watchTestsWithTestType(_searchTerm),//database.watchAllTests(),
builder: (context, AsyncSnapshot<List<TestWithTestType>> snapshot) {
final tests = snapshot.data ?? List();
return ListView.builder(
itemCount: tests.length,
itemBuilder: (_, index) {
final itemTest = tests[index];
return _buildListItem(itemTest.test, itemTest.testType, database);
},
);
},
);