use iced::widget::operation::focus_next; use iced::widget::{center, column, text_input}; use iced::{Center, Element, Task}; use iced_selection::text; fn main() -> iced::Result { iced::application(State::new, State::update, State::view).run() } #[derive(Default)] struct State { name: String, } #[derive(Debug, Clone)] enum Message { UpdateText(String), } impl State { fn new() -> (Self, Task) { (Self::default(), focus_next()) } fn update(&mut self, message: Message) { match message { Message::UpdateText(name) => self.name = name, }; } fn view(&self) -> Element<'_, Message> { center( column![ text!("Hello {}", &self.name), text_input("Type your name here...", &self.name) .on_input(Message::UpdateText) ] .spacing(10) .align_x(Center), ) .into() } }