Select Menus
To create a select menu, use the Select component, and pass a list of Option components as children. Use the value prop to set a currently selected value. You can respond to changes in the value via onChangeValue.
import { Button, Option, Select } from "reacord"
import { useState } from "react"
interface FruitSelectProps {
	onConfirm: (choice: string) => void
}
export function FruitSelect({ onConfirm }: FruitSelectProps) {
	const [value, setValue] = useState<string>()
	return (
		<>
			<Select
				placeholder="choose a fruit"
				value={value}
				onChangeValue={setValue}
			>
				<Option value="π" />
				<Option value="π" />
				<Option value="π" />
			</Select>
			<Button
				label="confirm"
				disabled={value == undefined}
				onClick={() => {
					if (value) onConfirm(value)
				}}
			/>
		</>
	)
}const instance = reacord.createChannelMessage(channel).render(
	<FruitSelect
		onConfirm={(value) => {
			instance.render(`you chose ${value}`)
			instance.deactivate()
		}}
	/>,
)For a multi-select, use the multiple prop, then you can use values and onChangeMultiple to handle multiple values.
interface FruitSelectProps {
	onConfirm: (choices: string[]) => void
}
export function FruitSelect({ onConfirm }: FruitSelectProps) {
	const [values, setValues] = useState<string[]>([])
	return (
		<Select
			placeholder="choose a fruit"
			values={values}
			onChangeMultiple={setValues}
		>
			<Option value="π" />
			<Option value="π" />
			<Option value="π" />
		</Select>
	)
}The Select component accepts a variety of props beyond whatβs shown here. See the API reference for more information.