【发布时间】:2019-03-20 06:15:14
【问题描述】:
我有一个包含两个输入的表单:name & address 和一个save 按钮。
所以我为每个命令创建了 change 和 isValid 命令
final _nameChangedCommand = RxCommand.createSync<String, String>((x) => x);
final _isNameValidCommand = RxCommand.createSync<String, bool>((x) => x != "");
final _addressChangedCommand = RxCommand.createSync<String, String>((x) => x);
final _isAddressValidCommand = RxCommand.createSync<String, bool>((x) => x != "");
我正在尝试为 canSave = _isNameValidCommand && _isAddressValidCommand 创建相同的保存按钮,但无法弄清楚语法。
我创建了一个 ZipStream :
final _isNameAddressValidStream =
new StreamZip([_isNameValidCommand, _isAddressValidCommand])
.map((results) => results.first && results.last)
.distinct();
final _canSaveCommand =
RxCommand.createFromStream((_) => _isNameAddressValidStream);
但永远不会调用流。
有什么提示吗?
【问题讨论】:
-
通常人们会将您指向combineLatestN。实际上,我手动解决了这个问题,因为它对我不起作用,但那是一段时间前的事了,我可能一直用错了。