0
我正在使用react-keydown庫將鍵盤快捷鍵添加到我的應用程序,但無法使其在內部對話框組件中工作。對話框並不總是可見的,但我期望這些按鍵在它們可見時工作。 我越來越對event_handlers.js._onKeyDown(事件)方法,但在缺失值:FN =未定義,而FN應該包含的裝飾功能。使用react-keydown在內部組件中捕獲keydown事件
我的組件看起來像:
<Container>
<MyDialog>
<material-ui-dialog/>
</MyDialog>
</Container>
Container.js:
import keydown from 'react-keydown'
class Container extends Component {
@keydown('enter')
someMethod1(){
// working
}
render() {
return (
<div>
<MyDialog/>
</div>
)
}
}
MyDialog.js:
import keydown, {keydownScoped} from 'react-keydown'
@keydown('enter')
class MyDialog extends Component {
@keydownScoped('enter')
someMethod3(){
// not working
}
}
什麼是決定它是否可見的邏輯?另外,您是否可以確認在關注表單字段時沒有嘗試觸發鍵控方法? – glortho
對話不總是可見的。這是一個確認對話框(其中包含材料ui對話框),由組件中的其他操作觸發。組件中沒有輸入字段或文本區域,只有帶有ok/cancel按鈕的對話框。 – user1813302
即使不可見,它是否安裝?問題可能在於,如果它已被掛載但隱藏,並且您單擊或選擇了對話框組件範圍之外的組件,它的鍵綁定將不會響應。 – glortho