fix(RemoteSelect component): fix selected option label not loaded on first render (#5736)

* feat: add defaultParams option to service in RemoteSelect and UsersSelect components

* fix: conditionally set defaultParams in RemoteSelect component
This commit is contained in:
Sheldon Guo 2024-11-27 13:27:35 +08:00 committed by GitHub
parent d62f9507a6
commit f56f49d3ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 2 deletions

View File

@ -39,7 +39,9 @@ export type RemoteSelectProps<P = any> = SelectProps<P, any> & {
/**
* useRequest() `service` parameter
*/
service: ResourceActionOptions<P>;
service: ResourceActionOptions<P> & {
defaultParams?: any;
};
target: string;
mapOptions?: (data: any) => SelectProps['fieldNames'];
dataSource?: string;
@ -177,6 +179,7 @@ const InternalRemoteSelect = withDynamicSchemaProps(
{
manual,
debounceWait: wait,
...(service.defaultParams ? { defaultParams: [service.defaultParams] } : {}),
},
);
const runDep = useMemo(

View File

@ -36,7 +36,6 @@ export function UsersSelect(props) {
function InternalUsersSelect({ value, onChange }) {
const scope = useWorkflowVariableOptions({ types: [isUserKeyField] });
return (
<Variable.Input scope={scope} value={value} onChange={onChange}>
<RemoteSelect
@ -46,6 +45,7 @@ function InternalUsersSelect({ value, onChange }) {
}}
service={{
resource: 'users',
defaultParams: value ? { filter: { id: value } } : undefined,
}}
manual={false}
value={value}

View File

@ -30,6 +30,7 @@ function InternalUsersSelect({ value, onChange, variableOptions }) {
}}
service={{
resource: 'users',
defaultParams: value ? { filter: { id: value } } : undefined,
}}
manual={false}
value={value}