Ron*_*ine 5 datepicker reactjs material-ui
我试图在按钮上打开日期选择器,单击其工作,但日期选择器在页面左上角打开,但如果我使用 TextField 它工作正常
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DatePicker
clearable={true}
open={isOpen}
onClose={() => setIsOpen(false)}
label='Basic example'
value={currentDate}
onChange={newValue => {
setCurrentDate(newValue)
}}
popperPlacement="bottom-end"
renderInput={params => (
// <TextField
// {...params}
// onClick={() => setIsOpen(isOpen => !isOpen)}
// />
<Button variant='contained' onClick={() => setIsOpen(isOpen => !isOpen)}>
{dateString}
</Button>
)}
/>
</LocalizationProvider>
Run Code Online (Sandbox Code Playgroud)
你应该使用PopperProps
请检查https://mui.com/x/api/date-pickers/date-picker/
下面的代码已经过测试MuiV5
并且工作正常。
import * as React from "react";
import { Button, Box } from "@mui/material/";
import { AdapterDateFns } from "@mui/x-date-pickers/AdapterDateFns";
import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
import { DatePicker } from "@mui/x-date-pickers/DatePicker";
const DateButton = () => {
const [value, setValue] = React.useState(null);
const [isOpen, setIsOpen] = React.useState(false);
const [anchorEl, setAnchorEl] = React.useState(null);
const handleClick = (event) => {
setIsOpen((isOpen) => !isOpen);
setAnchorEl(event.currentTarget);
};
return (
<Box sx={{ mt: 10, ml: 50 }}>
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DatePicker
clearable
open={isOpen}
onClose={() => setIsOpen(false)}
label="Basic example"
value={value}
onChange={(newValue) => {
setValue(newValue);
}}
PopperProps={{
placement: "bottom-end",
anchorEl: anchorEl
}}
renderInput={(params) => (
// <TextField
// {...params}
// onClick={() => setIsOpen(isOpen => !isOpen)}
// />
<Button variant="contained" onClick={handleClick}>
test
</Button>
)}
/>
</LocalizationProvider>
</Box>
);
};
export default DateButton;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8360 次 |
最近记录: |