MergeMapBindableProperty<TValue> constructor
MergeMapBindableProperty<TValue> (
- Map<
Object, ValueListenable< map, {TValue> > - PropertyValueChanged<
Map< ? valueChanged,Object, TValue> >
创建具有键的合并的绑定属性
将多个指定键的 ValueListenable 合并成一个新的 ValueListenable,
新的 ValueListenable 值 value
为多个 ValueListenable 的键值集合
map
指定将要合并的具有键的 ValueListenable 集合
valueChanged
指定属性值变更后的回调方法
Implementation
MergeMapBindableProperty(Map<Object, ValueListenable<TValue>> map,
{PropertyValueChanged<Map<Object, TValue>>? valueChanged})
: super(valueChanged: valueChanged) {
_value = UnmodifiableMapView(_realValue);
for (var kv in map.entries) {
var key = kv.key, vl = kv.value;
var listener = () {
_realValue[key] = vl.value;
notifyListeners();
};
vl.addListener(listener);
_realValue[key] = vl.value;
disposeFn(() => vl.removeListener(listener));
}
}