0
0

MUIのDataPickerで日付をクリアしたい

Posted at

MUI DatePickerで日付をクリアできない

最近React/Nextjsでフロントエンドを書いています。アプリケーションの要求仕様上、どうしても表形式のグリッドが必要なのでMUI DataGridを使用しています。
その流れで他のコンポーネントもMUIを使用しています。

MUIのDatePickerを使っていて、ひとつ困ったことが・・・
一度、DatePickerを使って選択した日付をクリアできない
のです。
スクリーンショット 2024-06-09 155452.png
一旦、DatePickerを使って日付を選択すると、テキストボックスのところにフォーカスを持って行って、BSキーで削除しても削除できません

うーん・・・困った。日付の項目が入力必須ならいいけど、入力が任意(例えば検索条件)の場合、一旦、日付選択すると空欄にできない。

slotProps で actionBar を指定することにより、クリアのリンクをDatePickerに表示させることができます。

import React from 'react';
import {  DatePicker,  LocalizationProvider,} from '@mui/x-date-pickers';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import 'dayjs/locale/ja';
import dayjs, { Dayjs } from 'dayjs';


  <LocalizationProvider dateAdapter={AdapterDayjs} adapterLocale='ja'>
    <Box sx={{overflow: 'hidden !important'}}>
      <DatePicker
        sx={ dateText('20ch') }
        format="YYYY/MM/DD"
        disablePast = {disablePast}
        value={orderDate}
        onChange={onChange}
        slotProps={{
          actionBar: { actions: ['clear', 'cancel', 'accept' ] }, // ★ココ
        }}
      />
    </Box>
  </LocalizationProvider>

スクリーンショット 2024-06-09 155408.png

「CANCEL」、「CLEAR」、「OK」のリンクが表示できるようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0