diff --git a/packages/editor/src/fields/DataSourceFieldSelect/FieldSelect.vue b/packages/editor/src/fields/DataSourceFieldSelect/FieldSelect.vue index 85898f61..f8886dbc 100644 --- a/packages/editor/src/fields/DataSourceFieldSelect/FieldSelect.vue +++ b/packages/editor/src/fields/DataSourceFieldSelect/FieldSelect.vue @@ -1,44 +1,60 @@ { return getCascaderOptionsFromFields(ds.fields, props.dataSourceFieldType); }); +const cascaderOptions = computed(() => { + const options = + dataSources.value?.map((ds) => ({ + label: ds.title || ds.id, + value: valueIsKey.value ? ds.id : `${DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX}${ds.id}`, + children: getCascaderOptionsFromFields(ds.fields, props.dataSourceFieldType), + })) || []; + return options.filter((option) => option.children.length); +}); + const dsChangeHandler = (v: string) => { modelValue.value = [v]; emit('change', modelValue.value); @@ -142,6 +168,11 @@ const fieldChangeHandler = (v: string[] = []) => { emit('change', modelValue.value); }; +const onChangeHandler = (v: string[] = []) => { + modelValue.value = v; + emit('change', v); +}; + const hasDataSourceSidePanel = computed(() => (services?.uiService.get('sideBarItems') || []).find((item) => item.$key === SideItemKey.DATA_SOURCE), );