作成日: 2021/12/24 最終更新日: 2023/05/16
文書種別
制限事項
発生環境
Chrome、Edgeで発生
詳細
新IMEを使用し、空でない任意の値の設定されたセルを編集後、値を確定せずに別のセルを選択すると、セルに入力した値が重複して設定されます。
例:任意のセルを編集モードにして「あいう」と入力し、編集を確定せずに他のセルを選択すると、入力したセルには「あいうあいう」と表示されます。
※この問題は、Wijmoを使用しない通常のinput要素でも同様に発生します。
※セルが選択されている状態からダブルクリックを行いセルを編集状態にしてIME入力を行った場合、下記「回避方法」欄に記載の方法では対応できませんので、次のいずれかの方法にて対応してください。
- ダブルクリックではなく、シングルクリックでセルを編集モードにします。
(セルが選択されている状態の場合、シングルクリックでセルが編集モードに なるため、ダブルクリックを行う必要はございません。) - 入力したいセルが選択されていない状態にした後、ダブルクリックにて セルを編集モードにします。
回避方法
prepareCellForEditイベントで、activeEditorの文字列長を元に戻す方法が有効です。
具体的な実装方法は、下記のサンプルをご参照ください。
※この問題はComboBoxコントロールへの入力においても発生し、同様に制限事項となります。
ComboBoxの場合は入力要素のondblclick/onfocusイベントを利用して、次のような回避策を実装してください。
具体的な実装方法は、下記のサンプルをご参照ください。
サンプル
※この問題はComboBoxコントロールへの入力においても発生し、同様に制限事項となります。
ComboBoxの場合は入力要素のondblclick/onfocusイベントを利用して、次のような回避策を実装してください。
combobox.inputElement.ondblclick = function onfocus(e){
var ctl= e.target;
if (ctl && ctl.value){
ctl.setSelectionRange(0, 0);
ctl.setSelectionRange(0, ctl.value.length);
}
};
combobox.inputElement.onfocus = function onfocus(e){
var ctl= e.target;
if (ctl && ctl.value){
ctl.setSelectionRange(0, 0);
setTimeout(() => {
ctl.setSelectionRange(0, ctl.value.length);
}, 10);
}
};