簡體   English   中英

如何將后綴圖標添加到 material-ui-pickers 輸入字段

[英]How to add suffix icon to material-ui-pickers input field

這是我的代碼:

<Box p={6}>
  <Grid container spacing={2}>
    <Grid item xs={6}>
      <TimePicker autoOk label={t('checkIn')} value={time1} onChange={handlecheckIn} clearable />
    </Grid>
    <Grid item xs={6}>
      <TimePicker autoOk label={t('checkOut')} value={time2} onChange={handleCheckOut} clearable />
    </Grid>

這就是我現在所擁有的:

https://i.stack.imgur.com/WO7qZ.png

我想得到這樣的東西,在時間選擇器的右端有箭頭:

帶向下箭頭的時間選擇器

這是單擊“簽入”或“簽出”后的表格:

在此處輸入圖像描述

1.使用TimePicker props TextFieldComponent自定義TextField props(非組件)

2.使用TextField props InputProps自定義輸入組件,帶InputAdornment和普通endAdornment (后綴)

3.使用默認 styles 所必需的{...props}傳遞默認道具。

4.注意我們可以在嵌套箭頭 function 中將打開狀態作為參數傳遞。

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;

編輯 falling-smoke-wyyg2

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM