pub struct Stack { /* private fields */ }Expand description
Draws its children on top of each other in one cell, each stretched to the size of the largest. Later children are on top.
Implementations§
Source§impl Stack
impl Stack
Sourcepub fn children_keyed<T, K, W>(
self,
items: impl FnMut() -> Vec<T> + 'static,
key: impl FnMut(&T) -> K + 'static,
view: impl FnMut(&Cx, Memo<T>) -> W + 'static,
) -> Self
pub fn children_keyed<T, K, W>( self, items: impl FnMut() -> Vec<T> + 'static, key: impl FnMut(&T) -> K + 'static, view: impl FnMut(&Cx, Memo<T>) -> W + 'static, ) -> Self
Adds one child per item, after the children added so far.
items runs in an effect, so the list updates when a signal it
read changes. key names each item. view builds the child for
a key the first time it appears, and that child is kept while
its key stays in the list, even if it moves. view receives the
item’s Cx and a Memo that updates when that item’s value
changes. When a key leaves the list, its child and everything
created in view are freed, at once or after an
exit. If two items share a key, only the first is
shown and the duplicate is logged.
Sourcepub fn exit(self, exit: impl IntoProp<Duration>) -> Self
pub fn exit(self, exit: impl IntoProp<Duration>) -> Self
Lets the children of the last children_keyed
list added leave over exit instead of at once. A child whose key
leaves stays mounted and painted right after the child that was
before it, and its context’s leaving turns true,
so its own cx.animate can fade or shrink it out. After exit it
is freed. If its key comes back first, the same child, with its
state, takes the key’s new place. A closure is read as each key
leaves, and an exit of 0 removes at once. Leaving children still
take pointer and keyboard input; a handler can check
cx.leaving() to ignore clicks during the exit.