MapObs<K, V> class
实现了 Map 集合所有方法的响应式变量
- Inheritance
-
- Object
- ChangeNotifier
- ValueNotifier<
Map< K, V> > - Obs<
Map< K, V> > - MapObs
- Implemented types
-
- Map<
K, V>
- Map<
Constructors
Properties
- autoNotify ↔ bool
-
变量发生更新时自动通知 UI 更新,若你想手动执行 notify 通知 UI 更新,可以将其设置为 false。
此属性允许在任意地方动态修改它。
getter/setter pairinherited
- cacheKey → String?
-
本地缓存 key,如果不为 null,每次更新变量时会将值缓存到本地,请保证 key 唯一
finalinherited
-
entries
→ Iterable<
MapEntry< K, V> > -
The map entries of this Map.
no setteroverride
- expire → Duration?
-
设置本地持久化的过期时间
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
- immediate → bool?
-
是否立即执行一次 onChanged 监听函数
finalinherited
- isEmpty → bool
-
Whether there is no key/value pair in the map.
no setteroverride
- isNotEmpty → bool
-
Whether there is at least one key/value pair in the map.
no setteroverride
- keepAliveTime ↔ Duration?
-
getter/setter pairinherited
-
keys
→ Iterable<
K> -
The keys of this Map.
no setteroverride
- length → int
-
The number of key/value pairs in the map.
no setteroverride
-
obsBuilders
→ Set<
VoidCallback> -
记录已绑定的 ObsBuilder 小部件的刷新方法
finalinherited
-
onChanged
→ ValueChanged<
Map< ?K, V> > -
创建响应式变量时立即绑定监听函数
finalinherited
-
rawValue
↔ Map<
K, V> -
直接访问原始
_value避免触发副作用函数getter/setter pairinherited - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- serialize → ElSerialize?
-
对象序列化接口,本地储存只允许基本数据类型,当响应式变量类型为对象时,你需要提供一个转换器,否则持久化时会抛出异常,
不过,如果对象实现了
ElSerialize、ElSerializeModel接口,那么你无需指定此参数。finalinherited - storage → ElStorage
-
如果自定义本地存储为 null,那么将使用响应式变量默认的本地存储对象
no setterinherited
-
value
↔ Map<
K, V> -
访问响应式变量,它会与 ObsBuilder 自动进行绑定
getter/setter pairinherited
-
values
→ Iterable<
V> -
The values of this Map.
no setteroverride
Methods
-
addAll(
Map< K, V> other) → void -
Adds all key/value pairs of
otherto this map.override -
addEntries(
Iterable< MapEntry< newEntries) → voidK, V> > -
Adds all key/value pairs of
newEntriesto this map.override -
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
bindBuilders(
) → void -
将响应式变量与 ObsBuilder 进行绑定
inherited
-
cast<
RK, RV> () → Map< RK, RV> -
Provides a view of this map as having
RKkeys andRVinstances, if necessary.override -
clear(
) → void -
Removes all entries from the map.
override
-
containsKey(
Object? key) → bool -
Whether this map contains the given
key.override -
containsValue(
Object? value) → bool -
Whether this map contains the given
value.override -
dispose(
) → void -
销毁响应式变量,如果 Obs 为局部状态(在 State 中创建),请在符合以下条件销毁它们:
inherited
-
execAutoNotify(
) → void -
执行通知副作用函数前判断是否启用了 autoNotify
inherited
-
forEach(
void action(K key, V value)) → void -
Applies
actionto each key/value pair of the map.override -
getValueOrNull(
Object? key) → V? -
initLocalValue(
) → Map< K, V> ? -
获取本地缓存值,这是一个默认实现,对于 List、Map 集合,其相应的 Obs 会覆写此方法
override
-
map<
K2, V2> (MapEntry< K2, V2> convert(K key, V value)) → Map<K2, V2> -
Returns a new map where all entries of this map are transformed by
the given
convertfunction.override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notify(
) → void -
执行所有副作用监听函数、包括 UI 页面刷新
inherited
-
notifyChanged(
) → void -
执行 onChanged 监听函数
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
putIfAbsent(
K key, V ifAbsent()) → V -
Look up the value of
key, or add a new entry if it isn't there.override -
remove(
Object? key) → V? -
Removes
keyand its associated value, if present, from the map.override -
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
removeWhere(
bool test(K key, V value)) → void -
Removes all entries of this map that satisfy the given
test.override -
toString(
) → String -
当直接当作字符串插入时,无需指定 .value
inherited
-
update(
K key, V update(V value), {V ifAbsent()?}) → V -
Updates the value for the provided
key.override -
updateAll(
V update(K key, V value)) → void -
Updates all values.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
Object? key) → V -
为了节省空值判断,默认情况下通过 obs
'key'访问不允许返回 nulloverride -
operator []=(
K key, V value) → void -
Associates the
keywith the givenvalue.override