pub struct SelectComponent { /* private fields */ }Expand description
An HTML <select> rendered by the engine.
Implementations§
Source§impl SelectComponent
impl SelectComponent
Sourcepub fn new(
options: Vec<SelectOption>,
value: &str,
measurer: Arc<dyn TextMeasurer>,
disabled: bool,
multiple: bool,
) -> Self
pub fn new( options: Vec<SelectOption>, value: &str, measurer: Arc<dyn TextMeasurer>, disabled: bool, multiple: bool, ) -> Self
Creates a select with the given options. value is the element’s
value attribute; the matching option (or the first selected one,
falling back to the first option) is initially selected.
disabled mirrors the element’s disabled attribute: a disabled
select ignores input and never opens its popup.
multiple mirrors the element’s multiple attribute: multiple
options can be selected at once (toggled from the popup) and the
reported value is a comma-separated list.
Sourcepub fn with_on_change(
options: Vec<SelectOption>,
value: &str,
measurer: Arc<dyn TextMeasurer>,
on_change: Arc<OnSelectChange>,
disabled: bool,
multiple: bool,
) -> Self
pub fn with_on_change( options: Vec<SelectOption>, value: &str, measurer: Arc<dyn TextMeasurer>, on_change: Arc<OnSelectChange>, disabled: bool, multiple: bool, ) -> Self
Creates a select with a value-change callback for DOM sync.
Sourcepub fn selected_value(&self) -> String
pub fn selected_value(&self) -> String
Returns the currently selected option’s value. For a multiple select this is the selected values joined with commas.
Trait Implementations§
Source§impl CustomNode for SelectComponent
impl CustomNode for SelectComponent
Source§fn draw_sized(
&self,
cmd_buf: &mut Vec<DrawCommand>,
text_style: &TextStyle,
text_flow_style: &TextFlowStyle,
_style: &Style,
size: ContentSize,
)
fn draw_sized( &self, cmd_buf: &mut Vec<DrawCommand>, text_style: &TextStyle, text_flow_style: &TextFlowStyle, _style: &Style, size: ContentSize, )
Emit draw commands fitted to the resolved content-box
size. Read moreSource§fn intrinsic_size(&self) -> ContentSize
fn intrinsic_size(&self) -> ContentSize
Intrinsic (content-box) size in pixels. Read more
Source§fn on_pointer_event(&self, event: PointerEvent) -> bool
fn on_pointer_event(&self, event: PointerEvent) -> bool
Dispatches a platform-neutral pointer event. Read more
Source§fn set_hovered(&self, hovered: bool)
fn set_hovered(&self, hovered: bool)
Updates the hover state for this node.
Source§fn is_hovered(&self) -> bool
fn is_hovered(&self) -> bool
Returns whether this node is currently hovered.
Source§fn on_popup_pointer_event(&self, event: PointerEvent) -> bool
fn on_popup_pointer_event(&self, event: PointerEvent) -> bool
Dispatches a pointer event on the node’s open popup. Read more
Source§fn dismiss_popup(&self)
fn dismiss_popup(&self)
Closes this node’s popup, if open (dismiss on an outside click).
Source§fn popup(
&self,
text_style: &TextStyle,
text_flow_style: &TextFlowStyle,
) -> Option<Popup>
fn popup( &self, text_style: &TextStyle, text_flow_style: &TextFlowStyle, ) -> Option<Popup>
Returns the node’s open popup (top-layer overlay), if any. Read more
Source§fn needs_repaint(&self) -> bool
fn needs_repaint(&self) -> bool
Whether this node changed its visual state since the last check. Read more
Source§fn role(&self) -> Option<&'static str>
fn role(&self) -> Option<&'static str>
Accessibility role for this node (e.g.
"button", "textbox", "img").Source§fn is_disabled(&self) -> bool
fn is_disabled(&self) -> bool
Whether this node is disabled and must not receive input.
Source§fn draw(
&self,
cmd_buf: &mut Vec<DrawCommand>,
text_style: &TextStyle,
text_flow_style: &TextFlowStyle,
)
fn draw( &self, cmd_buf: &mut Vec<DrawCommand>, text_style: &TextStyle, text_flow_style: &TextFlowStyle, )
Emit draw commands using the intrinsic content-box size. Read more
Source§fn preserves_intrinsic_aspect_ratio(&self) -> bool
fn preserves_intrinsic_aspect_ratio(&self) -> bool
Whether one resolved dimension should scale the other dimension using
the node’s intrinsic aspect ratio.
Source§fn accepts_text_input(&self) -> bool
fn accepts_text_input(&self) -> bool
Whether this node can receive keyboard and IME text input.
Source§fn set_focused(&self, _focused: bool)
fn set_focused(&self, _focused: bool)
Updates keyboard focus for this node.
Source§fn is_focused(&self) -> bool
fn is_focused(&self) -> bool
Returns whether this node currently owns keyboard focus.
Source§fn handle_text_input(&self, _event: InputTextEvent) -> bool
fn handle_text_input(&self, _event: InputTextEvent) -> bool
Applies a platform-neutral text editing event.
Source§fn is_composing(&self) -> bool
fn is_composing(&self) -> bool
Returns whether an IME preedit string is active.
Auto Trait Implementations§
impl !Freeze for SelectComponent
impl !RefUnwindSafe for SelectComponent
impl !UnwindSafe for SelectComponent
impl Send for SelectComponent
impl Sync for SelectComponent
impl Unpin for SelectComponent
impl UnsafeUnpin for SelectComponent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more