実現したいこと
Vue3で作成しています。
component内で親から受け取るpropsの値を直接編集している為、esLintエラーが出ているのは認識していますが、正常動作しているので行ってる処理自体は変更せず、esLintの警告をつぶしたいです。
- esLintのエラーを取り除きたい
前提
以下の様に親コンポーネントから出力データを受け取り、カラム(このComponent)をクリックしたらウインドウを開きます。開いたウインドウが存在する場合はカラムにハイライトのStyleで表示させ、ウインドウが閉じていたらそのハイライトのStyleを除去します(ポーリングで行う)。
発生している問題・エラーメッセージ
propsで受け取っている値を直接編集しようとしている為、esLintで警告が出力される。
eslint(vue/no-mutating-props)
該当のソースコード
typescript
1<template> 2 <a href="#" @click="handleClick"> 3 <span :class="{ 'high-light': rowData.isPopup}">りんく</span> 4 </a> 5</template> 6... 7const props =defineProps({ 8 rowData: { 9 type: Object as PropType<DataRow>, 10 required: true, 11 } 12}) 13 14const popupWindow = new Map<string, Window | null>(); 15setInterval(() => { 16 const subWin = popupWindow.get(props.rowData.id); 17 if (subWin) { 18 props.rowData.isPopUp = !subWin.closed; ←ここがesLintエラーになってる 19 } 20}) 21 22const handleClick = () => { 23 const winObj = window.open("http://url", props.rowData.id, "width: 1000"); 24 popupWindow.set(props.rowData.id, winObj ); 25}
補足情報(FW/ツールのバージョンなど)
Vue3
よろしくお願いします。
