# Message "If you want to use message, you need to wrap the component where you call related methods inside MessageProvider and use use_message to get the API." ```rust demo let message = use_message(); let success = move |_| { message.create( "Success".into(), MessageVariant::Success, MessageOptions {closable: true, duration: std::time::Duration::from_secs(0)}, ); }; let warning = move |_| { message.create( "Warning".into(), MessageVariant::Warning, Default::default(), ); }; let error = move |_| { message.create("Error".into(), MessageVariant::Error, Default::default()); }; view! { } ``` ### MessageProvider Props | Name | Type | Default | Desciption | | --------- | ------------------ | ----------------------- | ------------------------------- | | placement | `MessagePlacement` | `MessagePlacement::Top` | Position to place the messages. | ### MessageProvider Injection Methods | Name | Type | Description | | ------ | ------------------------------------------------------------------------------ | ------------------------ | | create | `fn(&self, content: String, variant: MessageVariant, options: MessageOptions)` | Use create type message. | ### MessageOptions fields | Name | Type | Default | Description | | --- | --- | --- | --- | | duration | `Duration` | `std::time::Duration::from_secs(3)` | How long the message will be displayed. 0 for permanent message | | closable | `bool` | `false` | Can the message be manually closed. |