diff --git a/packages/command-services/lib/utils/lookup-util.ts b/packages/command-services/lib/utils/lookup-util.ts index 51b33b7e55a7c6705eba95bf0eea252d40c150b5..86b75822ad99cce94f753592da2165ce955cf601 100644 --- a/packages/command-services/lib/utils/lookup-util.ts +++ b/packages/command-services/lib/utils/lookup-util.ts @@ -25,8 +25,10 @@ class LookupUtil { if (typeof mappingFields !== 'object' && typeof mappingFields !== 'string') { throw new Error('The parameter mapFields must be a string or an object'); } - const mappingFieldsObj = typeof mappingFields === 'object' ? mappingFields : JSON.parse(mappingFields) - + const mappingFieldsObj = typeof mappingFields === 'object' ? mappingFields : JSON.parse(mappingFields); + if (!mappingFieldsObj || typeof mappingFieldsObj !== 'object' || Object.keys(mappingFieldsObj).length === 0) { + throw new Error('The parameter mapFields must be an object and can not be empty'); + } // 格式化字段映射 const normalizedMappingFields: any[] = []; Object.keys(mappingFieldsObj).forEach((key: string) => { @@ -46,4 +48,4 @@ class LookupUtil { } } -export { LookupUtil } \ No newline at end of file +export { LookupUtil }; \ No newline at end of file diff --git a/packages/ui-binding/lib/compositions/use-tree-grid-binding.ts b/packages/ui-binding/lib/compositions/use-tree-grid-binding.ts index 26e4996085e71d432a4045e07f9f0c98862280b4..e3c68cfdf3d2f27e93774685da2d36c90fc5c8f9 100644 --- a/packages/ui-binding/lib/compositions/use-tree-grid-binding.ts +++ b/packages/ui-binding/lib/compositions/use-tree-grid-binding.ts @@ -60,12 +60,14 @@ export function useTreeGridBinding(elementRef: ElementRef, options: TreeBuilderB if (change.type === EntityChangeType.Load) { componentRef.value.updateDataSource(data); if (rootId && isFirstRender) { + componentRef.value.selectRowById(rootId); selectItemById(rootId); isFirstRender = false; viewModel.entityStore?.changeCurrentEntityByPath(viewModel.bindingPath, rootId); } else { const entity = viewModel.entityStore?.getEntityListByPath(options.entityPath).getCurrentEntity(); const primaryValue = entity?.idValue; + componentRef.value.selectRowById(primaryValue); selectItemById(primaryValue); viewModel.entityStore?.changeCurrentEntityByPath(viewModel.bindingPath, primaryValue); }