next.js 列表框选项(类似于下拉列表)重叠

bfrts1fy  于 2023-05-06  发布在  其他
关注(0)|答案(1)|浏览(133)

我正在尝试使用React.js、Next.js、TailwindCSS和HeadlessUI开发一个网页。它接受几个输入(为此我使用了HeadlessUI的Listbox),它们必须连续放置,以便用户指定平台所需的信息。
在测试了开发的用户界面后,我发现列表框选项中有重叠。如下面的屏幕截图所示,它们需要正确渲染,彼此显示,这不是故意的。我需要解决这个问题

在TailwindCSS的文档中,应该在他们定义的classNames中有这个错误的具体解决方案,但我还没有找到。解决方案可以与将对象带到前面相关
有两个可能的目的地,我需要作出修改

  1. ListboxOption的ClassName(母组件):
className="absolute mt-1 max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm">

1.列表框选项的类名(子组件):

className = {
  ({
    active
  }) =>
  `relative cursor-default select-none py-2 pl-10 pr-4 ${active ? 'bg-amber-100 text-amber-900' : 'text-gray-900'}`
}
mcvgt66p

mcvgt66p1#

我遇到了和你一样的问题,并找到了解决方案。尝试将'relative z-10'添加到'enterTo'属性中,如下所示:
enterTo=“transform scale-100 opacity-100 relative z-10”。
我注意到在组件下渲染的元素有一个“绝对”的位置,所以我们需要添加“相对”定位来让元素知道它属于哪里。z-index属性可用于使选项显示在选项按钮上方。希望这有帮助!

相关问题