作成日: 2026/06/10 最終更新日: 2026/06/10
文書種別
不具合
発生環境
対象コントロール:GcDateTime
状況
回避方法あり
詳細
日付時刻コントロールに同一の日付を設定するとdisplayFormatPatternが適用されません。
PureJSの場合:
GcDateTimeに対して2回同じ日付を設定すると不具合が発生します。
フレームワーク(Angular/React/Vue)の場合:
双方向バインディングを使用すると、フォーカスアウト時のvalueChangeイベント発生により同一の日付が再設定され、不具合が発生します。
PureJSの場合:
GcDateTimeに対して2回同じ日付を設定すると不具合が発生します。
フレームワーク(Angular/React/Vue)の場合:
双方向バインディングを使用すると、フォーカスアウト時のvalueChangeイベント発生により同一の日付が再設定され、不具合が発生します。
回避方法
GcDateTimeで同一の日付を設定する場合は再代入処理を行わないようにします。
const oldSetValueFunc = InputMan.GcDateTime.prototype.setValue;
function sameDate(firstDate, secondDate) {
if (firstDate == null || secondDate == null) {
return firstDate == secondDate;
}
return firstDate instanceof Date && secondDate instanceof Date && firstDate.getTime() === secondDate.getTime();
}
InputMan.GcDateTime.prototype.setValue = function (value, innerUse, isFromCalendar) {
if (!innerUse && !isFromCalendar && value instanceof Date && sameDate(value, this.getValue())) {
return this;
}
return oldSetValueFunc.call(this, value, innerUse, isFromCalendar);
};