I have an Autocomplete inside of a Menu. Whenever Autocomplete is clicked, the dropdown list/Popper appears but it is restricted within the parents which is the Menu. How do set it so that the dropdown list/Popper of the Autocomplete is not restricted within the Menu (Parents) and can overflow out if there is not enough space? Currently, it looks like this:
enter image description here
But I am hoping that the drop-down list is not restricted within the Menu itself but it can overflow out of it. Here is my code.

import { useState } from "react";
import { Button, Menu, Box,  } from "@mui/material";
import TextField from "@mui/material/TextField";
import Autocomplete from "@mui/material/Autocomplete";

const FilterMenuWithAutocomplete = () => {
  const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
  const open = Boolean(anchorEl);
  const handleButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {
    setAnchorEl(event.currentTarget);
  };
  const handleMenuClose = () => {
    setAnchorEl(null);
  };

  return (
    <>
      <Button
        id="filter-button"
        aria-controls={open ? "basic-menu" : undefined}
        aria-haspopup="true"
        aria-expanded={open ? "true" : undefined}
        disableRipple
        onClick={handleButtonClick}
      >
        Button
      </Button>
      <Menu
        id="price-filter-menu"
        anchorEl={anchorEl}
        open={open}
        onClose={handleMenuClose}
        MenuListProps={{
          "aria-labelledby": "price-filter-menu",
        }}
      >
          <Box sx={{ display: "flex", flexDirection: "row", p: 2  }}>
            <Autocomplete
              disablePortal
              id="autocomplete"
              options={option}
              sx={{ width: "200px" }}
              renderInput={(params) => (
                <TextField
                  {...params}
                  InputLabelProps={{ children: null }}
                  placeholder="Placeholder"
                  sx={{
                    '& input': {
                      height: "10px",
                      fontSize: '0.8rem',
                    },
                  }}
                />
              )}
            />
          </Box>
      </Menu>
    </>
  );
};

const option = [
  { label: "500", value: 500 },
  { label: "1000", value: 1000 },
  { label: "1500", value: 1500 },
  { label: "2000", value: 2000 },
  { label: "2500", value: 2500 },
  { label: "3000", value: 3000 },
  { label: "3500", value: 3500 },
  { label: "4000", value: 4000 },
  { label: "4500", value: 4500 },
  { label: "5000", value: 5000 },
  { label: "6000", value: 6000 },
  { label: "6000", value: 6000 },
  { label: "7000", value: 7000 },
  { label: "8000", value: 8000 },
  { label: "9000", value: 9000 },
  { label: "10,000", value: 10000 },
  { label: "12,000", value: 12000 },
  { label: "15,000", value: 15000 },
  { label: "20,000", value: 20000 },
  { label: "30,000", value: 30000 },
  { label: "40,000", value: 40000 },
  { label: "50,000", value: 50000 },
];

export default FilterMenuWithAutocomplete;

我try 创建具有最高zIndex的弹出窗口,如下所示

const PopperMy = function (props) {
  return (<Popper {...props} style={{ width: 250, zIndex: 999999 }} placement='bottom-start' />)
}
<Autocomplete PopperComponent={PopperMy}>

还试图将PopperComponent锚定到菜单上,但后来根本看不到.我希望结果是这样的

enter image description here

以下是Codesandbox链接: https://codesandbox.io/p/sandbox/autocompletemenu-fnfs63?file=%2Fsrc%2FApp.tsx

推荐答案

MUI使用它的"门户"功能来呈现自动完成的弹出框.由于您传递的是disablePortal,它将禁用该功能,而是内联呈现弹出框,这使其受到其父对象的裁剪等.

试着go 掉disablePortal个.

Javascript相关问答推荐

如何将拖放功能添加到我已自定义为图像的文件输入HTML标签中?

如何在表格上拥有水平滚动条,在正文页面上拥有垂直滚动条,同时还对html表格的标题使用位置粘性?

防止用户在selectizeInput中取消 Select 选项

拖放仅通过 Select 上传

按下同意按钮与 puppeteer 师

Rehype将hashtag呈现为URL

用JavaScript复制C#CRC 32生成器

如何根据当前打开的BottomTab Screeb动态加载React组件?

保持物品顺序的可变大小物品分配到平衡组的算法

如何在Angular拖放组件中同步数组?

Jest toHaveBeenNthCalledWith返回当前设置的变量值,而不是调用时的值

如何 for each 输入动态设置输入变更值

图表4-堆叠线和条形图之间的填充区域

不同表的条件API端点Reaction-redux

在渲染turbo流之后滚动到元素

固定动态、self 调整的优先级队列

我如何才能获得价值观察家&对象&S的价值?

计算对象数组中属性的滚动增量

扩散运算符未按预期工作,引发语法错误

如何动态呈现适合未知屏幕大小的最大数量的表行?苗条的