Skip to content

Changeable

Changeable<T> 是受控组件请求下一值的静态 builder 能力。它不提交内部业务状态,也不发布运行时事件。

rust
pub trait Changeable<T>: Sized {
    fn on_change(self, handler: impl Fn(T, &mut Window, &mut App) + 'static) -> Self;
    fn on_change_in<U: 'static>(
        self,
        cx: &Context<U>,
        handler: impl Fn(&mut U, T, &mut Window, &mut Context<U>) + 'static,
    ) -> Self;
}

Checkbox 与 Switch 实现 Changeable<bool>,RadioGroup 实现 Changeable<T>,Input 实现 Changeable<SharedString>。Input 的 on_change 只表示用户编辑实际改变了值;程序化 InputState::set_valueclearreset 不调用它。变化可能来自键盘、鼠标或平台文本输入协议,因此回调不携带 ClickEvent

每个组件保留同名固有 builder,并与 trait 实现委托到同一路径。