Update MultiFieldSelect to accept a defaultValue

This changes the multi select control to accept defaultValues. As these are passed in as strings (flattened arrays in the form of "1, 2, 3") they need to be split into an array to be accepted by the control.
This commit is contained in:
Bastiaan Terhorst 2022-01-18 15:04:40 +01:00
parent 157b21b8dd
commit dd44c4e7e3
1 changed files with 14 additions and 1 deletions

View File

@ -20,6 +20,7 @@
let fieldSchema
$: flatOptions = optionsSource == null || optionsSource === "schema"
$: expandedValue = expand(fieldState?.value)
$: options = getOptions(
optionsSource,
fieldSchema,
@ -28,6 +29,18 @@
valueColumn,
customOptions
)
const expand = values => {
if (!values) {
return []
}
if (Array.isArray(values)) {
return values
}
return values.split(",")
}
</script>
<Field
@ -43,7 +56,7 @@
>
{#if fieldState}
<CoreMultiselect
value={fieldState.value || []}
value={expandedValue}
error={fieldState.error}
getOptionLabel={flatOptions ? x => x : x => x.label}
getOptionValue={flatOptions ? x => x : x => x.value}