Shadcn 选择在页面底部创建不必要的空白

问题描述 投票:0回答:1

根据我放置选择组件或任何使用弹出器的组件的位置,它会在页面底部创建不必要的空白。选择位于具有自定义溢出 y 设置的 div 中,我希望选择弹出窗口可以使用该 div 组件滚动。很难用文字描述,所以我也会发布一张图片。 下拉前 下拉后 如何让带有自定义滚动条的 div 向下弹出,而不仅仅是一般页面?

我尝试更改选择组件本身的样式以及最大高度,尽管这确实有效,但我不喜欢弹出窗口的外观,因为它太小了。

这是我正在使用的选择组件,表单中有多个组件,它们的功能都相对相同:

     <FormField
        control={form.control}
        name="startTimeHour"
        render={({ field }) => (
          <FormItem>
            <FormLabel>Start Hour</FormLabel>
            <Select onValueChange={field.onChange}>
              <FormControl>
                <SelectTrigger>
                  <SelectValue
                    placeholder={event ? dateObj.startHour : "01"}
                  />
                </SelectTrigger>
              </FormControl>
              <SelectContent className="bg-white overflow-y-auto">
                {hourArray.map((hour) => {
                  return (
                    <SelectItem key={hour} value={hour}>
                      {hour}
                    </SelectItem>
                  );
                })}
              </SelectContent>
            </Select>
            <FormMessage />
          </FormItem>
        )}
      />

这是它所影响的 div 的样式:

.common-container {
@apply flex flex-col flex-1 items-center gap-10 overflow-y-scroll py-10 px-5 md:px-8 lg:p-14 custom-scrollbar;

}

此问题仅在页面充满元素时发生,因此如果您仅使用这些选择之一进行测试,您可能不会注意到任何事情。我有一个粘在页面底部的底部栏,当您一直向下滚动时,底部栏下方只有额外的空白,我需要调整底部栏以粘在该空白下方或用于 div 的内容当选择组件下拉时展开。

html css tailwind-css overflow shadcnui
1个回答
0
投票

将表单包装在 className="relative" 的 div 中。 Radix 具有绝对定位的元素,与溢出一起使用时会导致布局问题。

对我来说,我必须将

sr-only
更改为
fixed sr-only
,并且必须将
<form>{children}</form>
包装在一个带有相关内容的 div 中。

<form><div className="relative">{children}</div></form>

© www.soinside.com 2019 - 2024. All rights reserved.