This commit is contained in:
dengqichen 2025-01-10 13:41:51 +08:00
parent 0fe5f766c8
commit 967c79a618

View File

@ -279,66 +279,35 @@ const ApplicationModal: React.FC<ApplicationModalProps> = ({
render={({field}) => ( render={({field}) => (
<FormItem> <FormItem>
<FormLabel></FormLabel> <FormLabel></FormLabel>
<Popover> <Select
<PopoverTrigger asChild> disabled={!form.watch('gitInstanceId')}
<FormControl> onValueChange={(value) => {
<Button form.setValue("repositoryGroupId", Number(value));
variant="outline" }}
role="combobox" value={field.value?.toString()}
disabled={!form.watch('gitInstanceId')} >
className={cn( <FormControl>
"w-full justify-between", <SelectTrigger>
!field.value && "text-muted-foreground" <SelectValue
)} placeholder={!form.watch('gitInstanceId')
> ? "请先选择Git实例"
{field.value : "请选择代码仓库组"
? repositoryGroups.find( }
(group) => group.id === field.value
)?.name
: "请选择代码仓库组"}
</Button>
</FormControl>
</PopoverTrigger>
<PopoverContent className="w-[--radix-popover-trigger-width] p-0" side="bottom" align="start">
<Command className="w-full">
<CommandInput
placeholder="搜索代码仓库组..."
className="h-9"
/> />
<CommandEmpty></CommandEmpty> </SelectTrigger>
<ScrollArea className="h-[200px] overflow-auto"> </FormControl>
<CommandGroup className="overflow-hidden"> <SelectContent>
{repositoryGroups.map((group) => ( {repositoryGroups.map((group) => (
<CommandItem <SelectItem
key={group.id} key={group.id}
value={group.name} value={group.id.toString()}
onSelect={() => { >
form.setValue("repositoryGroupId", group.id); {group.name}
// 关闭 Popover </SelectItem>
const popoverTrigger = document.querySelector('[role="combobox"]'); ))}
if (popoverTrigger) { </SelectContent>
(popoverTrigger as HTMLElement).click(); </Select>
} <FormMessage />
}}
className="cursor-pointer"
>
<Check
className={cn(
"mr-2 h-4 w-4",
group.id === field.value
? "opacity-100"
: "opacity-0"
)}
/>
{group.name}
</CommandItem>
))}
</CommandGroup>
</ScrollArea>
</Command>
</PopoverContent>
</Popover>
<FormMessage/>
</FormItem> </FormItem>
)} )}
/> />