作成日: 2025/01/31 最終更新日: 2025/05/14
文書種別
不具合
発生環境
5.20241.19以降のバージョンで発生
状況
修正済み
詳細
FlexGridの列内でセルテンプレートを使用したセルにMenuコントロールを埋め込んだ場合、Menuのヘッダー部分のテキストを押下してもセルが選択されません。
回避方法
この問題はバージョン5.20251.34で修正されました。
修正版を適用しない場合の回避方法は次の通りです。
<wj-menu>のinitializedイベントで下記コードを実行します。
initMenu(menu: wjInput.Menu) {
menu.hostElement.addEventListener('mousedown', (event) => {
let targetElement = this.flex.hostElement;
let isHeaderPart = (event.target as HTMLElement).getAttribute('wj-part') === 'header';
if (isHeaderPart && targetElement) {
// mousedownイベントを複製する
const clonedEvent = new MouseEvent('mousedown', {
bubbles: event.bubbles,
cancelable: event.cancelable,
composed: event.composed,
screenX: event.screenX,
screenY: event.screenY,
clientX: event.clientX,
clientY: event.clientY,
button: event.button,
buttons: event.buttons,
ctrlKey: event.ctrlKey,
shiftKey: event.shiftKey,
altKey: event.altKey,
metaKey: event.metaKey,
});
// 複製されたイベントをグリッドのホスト要素に送る
targetElement.dispatchEvent(clonedEvent);
// メニューにフォーカスを当てる
menu.focus();
}
})
}