日付ピッカーの月/年はiOSでは機能しません

猫とネズミ

react-day-pickerパッケージを使用して、年/月の小道具を含む日付を選択しています。ただし、年/月のドロップダウンはiOSモバイルブラウザでは正しく機能しません。

import React from 'react';
import ReactDOM from "react-dom";
import DayPickerInput from 'react-day-picker/DayPickerInput';
import 'react-day-picker/lib/style.css';

const currentYear = new Date().getFullYear();
const fromMonth = new Date(currentYear, 0);
const toMonth = new Date(currentYear + 10, 11);

function YearMonthForm({ date, localeUtils, onChange }) {
  const months = localeUtils.getMonths();

  const years = [];
  for (let i = fromMonth.getFullYear(); i <= toMonth.getFullYear(); i += 1) {
    years.push(i);
  }

  const handleChange = function handleChange(e) {
    const { year, month } = e.target.form;
    onChange(new Date(year.value, month.value));
  };

  return (
    <form className="DayPicker-Caption">
      <select name="month" onChange={handleChange} value={date.getMonth()}>
        {months.map((month, i) => (
          <option key={month} value={i}>
            {month}
          </option>
        ))}
      </select>
      <select name="year" onChange={handleChange} value={date.getFullYear()}>
        {years.map(year => (
          <option key={year} value={year}>
            {year}
          </option>
        ))}
      </select>
    </form>
  );
}

export default class Example extends React.Component {
  constructor(props) {
    super(props);
    this.handleYearMonthChange = this.handleYearMonthChange.bind(this);
    this.state = {
      month: fromMonth,
    };
  }
  handleYearMonthChange(month) {
    this.setState({ month });
  }
  render() {
    const dayPickerProps = {
      month: this.state.month,
      fromMonth: fromMonth,
      toMonth: toMonth,
      captionElement: ({ date, localeUtils }) => (
        <YearMonthForm
          date={date}
          localeUtils={localeUtils}
          onChange={this.handleYearMonthChange}
        />
      )
    };

    return (
      <div className="YearNavigation">
        <DayPickerInput
          showOverlay={true}
          dayPickerProps={dayPickerProps}
        />
      </div>
    );
  }
}
ReactDOM.render(<Example />, document.getElementById("root"));

このリンクでデモを見ることができます(iOSデバイスで開く必要があります):

https://codesandbox.io/s/0y84wrp8mn

これに対する回避策はありますか?

di3

問題は、デフォルトのkeepFocusがtrueに設定されていることです。サンプルコンポーネント(keepFocus = {false})のようにレンダリングメソッドを変更します。

return (
  <div className="YearNavigation">
    <DayPickerInput
      showOverlay={true}
      keepFocus={false}
      dayPickerProps={dayPickerProps}
    />
  </div>
);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

月と年の日付ピッカーが機能しない

分類Dev

MinDateとMaxDateは、Ionic4のネイティブ日付ピッカーでは機能しません

分類Dev

日付ピッカーのngMaterialがAngularjsで機能していません

分類Dev

日付範囲ピッカーautoApply:trueはtimePicker:trueでは機能しません

分類Dev

私の最小日付がWordPressの日付ピッカーで機能していません

分類Dev

ajax呼び出しの後、日付ピッカーは機能しますが、フォーマットは機能しません

分類Dev

JQuery日時ピッカープラグインはng-viewのAngularJSでは機能しません

分類Dev

UIControlEvents.valueChangedを使用した日付ピッカーは、最初の値変更イベントでは機能しません

分類Dev

80年代の4月1日の日付はiOS10.0で解析できませんでした

分類Dev

日付ピッカーが機能していません

分類Dev

ここでは、素材の日付ピッカーを使用していましたが、カレンダーに現在の年が表示されていません

分類Dev

角度のある日付ピッカーが機能していません

分類Dev

日付ピッカーの更新が機能していませんか?

分類Dev

ブートストラップで日付ピッカー変更月イベントが機能していません

分類Dev

先月の入手方法は?日付+%Y%m-d「1か月前」は3月30日は機能しません

分類Dev

2つの日付の間のmysqlは、2つの異なる月では機能しません

分類Dev

日付と時刻のローカリゼーションはLaravel-mixでは機能しません

分類Dev

Elasticsearchのsearch_afterは日付では機能しません

分類Dev

「形式」は特定の日付形式では機能しません

分類Dev

UTC日付のフォーマットはJavaScriptを使用したSafariでは機能しません

分類Dev

Djangoでの日付の比較は機能しません

分類Dev

MySQL:日付フィールドのCURRENT_TIMESTAMPはローカルで機能しますが、サーバーでは機能しません

分類Dev

日付ピッカー範囲のReactフックフォームは日付を選択しません

分類Dev

jQueryの日付ピッカーを変換して月と年のみを選択する方法は?

分類Dev

エラー:テキスト '2020年1月31日'は、文字列日付の解析中にインデックス0で解析できませんでした

分類Dev

フラッターローカル通知はiOSでは機能しません

分類Dev

IE8の日付ピッカーKalendaeは、日付選択後数か月または数年を切り替えません

分類Dev

カスタムアーカイブページは日付やタグでは機能しませんが、カテゴリでは機能します

分類Dev

IOSプッシュ通知はローカルで機能しますが、bluehostでは機能しません

Related 関連記事

  1. 1

    月と年の日付ピッカーが機能しない

  2. 2

    MinDateとMaxDateは、Ionic4のネイティブ日付ピッカーでは機能しません

  3. 3

    日付ピッカーのngMaterialがAngularjsで機能していません

  4. 4

    日付範囲ピッカーautoApply:trueはtimePicker:trueでは機能しません

  5. 5

    私の最小日付がWordPressの日付ピッカーで機能していません

  6. 6

    ajax呼び出しの後、日付ピッカーは機能しますが、フォーマットは機能しません

  7. 7

    JQuery日時ピッカープラグインはng-viewのAngularJSでは機能しません

  8. 8

    UIControlEvents.valueChangedを使用した日付ピッカーは、最初の値変更イベントでは機能しません

  9. 9

    80年代の4月1日の日付はiOS10.0で解析できませんでした

  10. 10

    日付ピッカーが機能していません

  11. 11

    ここでは、素材の日付ピッカーを使用していましたが、カレンダーに現在の年が表示されていません

  12. 12

    角度のある日付ピッカーが機能していません

  13. 13

    日付ピッカーの更新が機能していませんか?

  14. 14

    ブートストラップで日付ピッカー変更月イベントが機能していません

  15. 15

    先月の入手方法は?日付+%Y%m-d「1か月前」は3月30日は機能しません

  16. 16

    2つの日付の間のmysqlは、2つの異なる月では機能しません

  17. 17

    日付と時刻のローカリゼーションはLaravel-mixでは機能しません

  18. 18

    Elasticsearchのsearch_afterは日付では機能しません

  19. 19

    「形式」は特定の日付形式では機能しません

  20. 20

    UTC日付のフォーマットはJavaScriptを使用したSafariでは機能しません

  21. 21

    Djangoでの日付の比較は機能しません

  22. 22

    MySQL:日付フィールドのCURRENT_TIMESTAMPはローカルで機能しますが、サーバーでは機能しません

  23. 23

    日付ピッカー範囲のReactフックフォームは日付を選択しません

  24. 24

    jQueryの日付ピッカーを変換して月と年のみを選択する方法は?

  25. 25

    エラー:テキスト '2020年1月31日'は、文字列日付の解析中にインデックス0で解析できませんでした

  26. 26

    フラッターローカル通知はiOSでは機能しません

  27. 27

    IE8の日付ピッカーKalendaeは、日付選択後数か月または数年を切り替えません

  28. 28

    カスタムアーカイブページは日付やタグでは機能しませんが、カテゴリでは機能します

  29. 29

    IOSプッシュ通知はローカルで機能しますが、bluehostでは機能しません

ホットタグ

アーカイブ