pub struct MultiSelectMenuStaticOptions { /* private fields */ }Expand description
Multi select menu of static options representation
§Fields and Validations
For more details, see the official documentation.
| Field | Type | Required | Validation |
|---|---|---|---|
| action_id | String | No | Max length 255 characters |
| options | Vec<Opt> | Conditionally* | Max items 100 |
| option_groups | Vec<OptGroup> | Conditionally* | Max items 100 |
| initial_options | Vec<Opt> | No | N/A |
| confirm | ConfirmationDialog | No | N/A |
| max_selected_items | i64 | No | Min value 1 |
| focus_on_load | bool | No | N/A |
| placeholder | Text<Plain> | No | Max length 150 characters |
§Validation Across Fields
- Either
optionsoroption_groupsmust be specified, but not both.
§Example
use slack_messaging::plain_text;
use slack_messaging::blocks::elements::MultiSelectMenuStaticOptions;
use slack_messaging::composition_objects::Opt;
let menu = MultiSelectMenuStaticOptions::builder()
.action_id("text1234")
.option(
Opt::builder()
.text(plain_text!("option-0")?)
.value("value-0")
.build()?
)
.option(
Opt::builder()
.text(plain_text!("option-1")?)
.value("value-1")
.build()?
)
.placeholder(plain_text!("Select items")?)
.build()?;
let expected = serde_json::json!({
"type": "multi_static_select",
"action_id": "text1234",
"options": [
{
"text": {
"type": "plain_text",
"text": "option-0"
},
"value": "value-0"
},
{
"text": {
"type": "plain_text",
"text": "option-1"
},
"value": "value-1"
}
],
"placeholder": {
"type": "plain_text",
"text": "Select items"
}
});
let json = serde_json::to_value(menu).unwrap();
assert_eq!(json, expected);
// If your object has any validation errors, the build method returns Result::Err
let menu = MultiSelectMenuStaticOptions::builder()
.action_id("text1234")
.placeholder(plain_text!("Select items")?)
.build();
assert!(menu.is_err());Implementations§
Source§impl MultiSelectMenuStaticOptions
impl MultiSelectMenuStaticOptions
Sourcepub fn builder() -> MultiSelectMenuStaticOptionsBuilder
pub fn builder() -> MultiSelectMenuStaticOptionsBuilder
constract MultiSelectMenuStaticOptionsBuilder object.
Trait Implementations§
Source§impl Clone for MultiSelectMenuStaticOptions
impl Clone for MultiSelectMenuStaticOptions
Source§fn clone(&self) -> MultiSelectMenuStaticOptions
fn clone(&self) -> MultiSelectMenuStaticOptions
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MultiSelectMenuStaticOptions
impl Debug for MultiSelectMenuStaticOptions
Source§impl Default for MultiSelectMenuStaticOptions
impl Default for MultiSelectMenuStaticOptions
Source§fn default() -> MultiSelectMenuStaticOptions
fn default() -> MultiSelectMenuStaticOptions
Returns the “default value” for a type. Read more
Source§impl From<MultiSelectMenuStaticOptions> for Accessory
impl From<MultiSelectMenuStaticOptions> for Accessory
Source§fn from(value: MultiSelectMenuStaticOptions) -> Self
fn from(value: MultiSelectMenuStaticOptions) -> Self
Converts to this type from the input type.
Source§impl From<MultiSelectMenuStaticOptions> for ActionsElement
impl From<MultiSelectMenuStaticOptions> for ActionsElement
Source§fn from(value: MultiSelectMenuStaticOptions) -> Self
fn from(value: MultiSelectMenuStaticOptions) -> Self
Converts to this type from the input type.
Source§impl From<MultiSelectMenuStaticOptions> for InputElement
impl From<MultiSelectMenuStaticOptions> for InputElement
Source§fn from(value: MultiSelectMenuStaticOptions) -> Self
fn from(value: MultiSelectMenuStaticOptions) -> Self
Converts to this type from the input type.
impl StructuralPartialEq for MultiSelectMenuStaticOptions
Auto Trait Implementations§
impl Freeze for MultiSelectMenuStaticOptions
impl RefUnwindSafe for MultiSelectMenuStaticOptions
impl Send for MultiSelectMenuStaticOptions
impl Sync for MultiSelectMenuStaticOptions
impl Unpin for MultiSelectMenuStaticOptions
impl UnwindSafe for MultiSelectMenuStaticOptions
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)