Search...

SelectMenuBuilder

declare class SelectMenuBuilder extends ComponentBuilder<APISelectMenuComponent> 
declare class SelectMenuBuilder extends ComponentBuilder<APISelectMenuComponent> 
Represents a select menu component

Extends

ComponentBuilder<APISelectMenuComponent>

constructor(data?)

Creates a new select menu from API data
Example
Creating a select menu from an API data object
const selectMenu = new SelectMenuBuilder({
	custom_id: 'a cool select menu',
	placeholder: 'select an option',
	max_values: 2,
	options: [
		{ label: 'option 1', value: '1' },
		{ label: 'option 2', value: '2' },
		{ label: 'option 3', value: '3' },
	],
});
const selectMenu = new SelectMenuBuilder({
	custom_id: 'a cool select menu',
	placeholder: 'select an option',
	max_values: 2,
	options: [
		{ label: 'option 1', value: '1' },
		{ label: 'option 2', value: '2' },
		{ label: 'option 3', value: '3' },
	],
});
Example
Creating a select menu using setters and API data
const selectMenu = new SelectMenuBuilder({
	custom_id: 'a cool select menu',
})
	.setMinValues(1)
	.addOptions({
		label: 'Catchy',
		value: 'catch',
	});
const selectMenu = new SelectMenuBuilder({
	custom_id: 'a cool select menu',
})
	.setMinValues(1)
	.addOptions({
		label: 'Catchy',
		value: 'catch',
	});
NameTypeOptionalDescription
dataPartial<APISelectMenuComponent>YesThe API data to create this select menu with
Readonly

data

:

Partial<DataType>

The API data associated with this component
Inherited from ComponentBuilder
Readonly
The options within this select menu

addOptions(options)

:

this

Adds options to this select menu
NameTypeOptionalDescription
optionsRestOrArray<APISelectMenuOption | SelectMenuOptionBuilder>NoThe options to add to this select menu

setCustomId(customId)

:

this

Sets the custom id for this select menu
NameTypeOptionalDescription
customIdstringNoThe custom id to use for this select menu

setDisabled(disabled?)

:

this

Sets whether this select menu is disabled
NameTypeOptionalDescription
disabledbooleanYesWhether this select menu is disabled

setMaxValues(maxValues)

:

this

Sets the maximum values that must be selected in the select menu
NameTypeOptionalDescription
maxValuesnumberNoThe maximum values that must be selected

setMinValues(minValues)

:

this

Sets the minimum values that must be selected in the select menu
NameTypeOptionalDescription
minValuesnumberNoThe minimum values that must be selected

setOptions(options)

:

this

Sets the options on this select menu
NameTypeOptionalDescription
optionsRestOrArray<APISelectMenuOption | SelectMenuOptionBuilder>NoThe options to set on this select menu

setPlaceholder(placeholder)

:

this

Sets the placeholder for this select menu
NameTypeOptionalDescription
placeholderstringNoThe placeholder to use for this select menu

toJSON()

:

APISelectMenuComponent

Serializes this component to an API-compatible JSON object
Remarks
This method runs validations on the data before serializing it. As such, it may throw an error if the data is invalid.