pub fn bind<S, T>(
binding: impl Binding<S>,
lens: impl Lens<S, T>
) -> impl Binding<T>where
S: 'static,
T: 'static,
Examples found in repository?
More examples
examples/counter_list.rs (line 8)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
fn main() {
rui(state(Counters::default, |counters, cx| {
vstack((
list(cx[counters].ids(), move |&i| {
with_cx(move |cx| {
let count = bind(counters, CounterLens(i));
hstack((
format!("{}", count.get(cx)).padding(Auto),
button("increment", move |cx| {
*count.get_mut(cx) += 1;
})
.padding(Auto),
button("decrement", move |cx| {
*count.get_mut(cx) -= 1;
})
.padding(Auto),
button("remove", move |cx| cx[counters].remove_counter(i)).padding(Auto),
))
})
}),
format!("total: {}", cx[counters].sum_counters()).padding(Auto),
button("add counter", move |cx| cx[counters].add_counter()).padding(Auto),
))
}));
}