MergeBindableProperty<TValue> constructor
MergeBindableProperty<TValue> (
- Iterable<
ValueListenable< listenables, {TValue> > - PropertyValueChanged<
Iterable< ? valueChanged,TValue> >
创建合并的绑定属性
将多个 ValueListenable 合并成一个新的 ValueListenable,
新的 ValueListenable 值 value
为多个 ValueListenable 的值集合
listenables
指定将要合并的 ValueListenable 集合
valueChanged
指定属性值变更后的回调方法
Implementation
MergeBindableProperty(Iterable<ValueListenable<TValue>> listenables,
{PropertyValueChanged<Iterable<TValue>>? valueChanged})
: super(valueChanged: valueChanged) {
_value = UnmodifiableListView(_realValue);
for (var vl in listenables) {
var index = _realValue.length;
var listener = () {
_realValue[index] = vl.value;
notifyListeners();
};
_realValue.add(vl.value);
vl.addListener(listener);
disposeFn(() => vl.removeListener(listener));
}
}