diff --git a/packages/bbui/src/Form/Select.svelte b/packages/bbui/src/Form/Select.svelte index 731011c21e..986b6cfdcb 100644 --- a/packages/bbui/src/Form/Select.svelte +++ b/packages/bbui/src/Form/Select.svelte @@ -10,14 +10,20 @@ export let error = null export let placeholder = "Choose an option" export let options = [] - export let getOptionLabel = option => option - export let getOptionValue = option => option + export let getOptionLabel = option => extractProperty(option, "label") + export let getOptionValue = option => extractProperty(option, "value") const dispatch = createEventDispatcher() const onChange = e => { dispatch("change", e.detail) value = e.detail } + const extractProperty = (value, property) => { + if (value && typeof value === "object") { + return value[property] + } + return value + }