1.Используйте реквизиты TimePicker TextFieldComponent , чтобы настроить TextField
реквизиты (не компоненты)
2. Используйте реквизиты TextField InputProps для настройки компонента ввода с InputAdornment
и обычным endAdornment
(суффикс)
3.Пропустить реквизиты по умолчанию с {...props}
, что необходимо для стилей по умолчанию.
4. Обратите внимание, что мы можем передать статус открытия в виде параметров в функции вложенной стрелки.
import React, { useState } from "react";
import DateFnsUtils from "@date-io/date-fns"; // choose your lib
import { TimePicker, MuiPickersUtilsProvider } from "@material-ui/pickers";
import { TextField, InputAdornment } from "@material-ui/core";
import ExpandLess from "@material-ui/icons/ExpandLess";
import ExpandMore from "@material-ui/icons/ExpandMore";
const CustomizedTextField = open => props => {
return (
<TextField
id="standard-basic"
label="Standard"
{...props}
InputProps={{
endAdornment: (
<InputAdornment position="end">
{open ? <ExpandMore /> : <ExpandLess />}
</InputAdornment>
)
}}
/>
);
};
function App() {
const [selectedDate, handleDateChange] = useState(new Date());
const [open, setOpen] = React.useState(false);
return (
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<TimePicker
value={selectedDate}
onChange={handleDateChange}
open={open}
onOpen={() => setOpen(true)}
onClose={() => setOpen(false)}
TextFieldComponent={CustomizedTextField(open)}
/>
</MuiPickersUtilsProvider>
);
}
export default App;