내 애플리케이션에 키보드 단축키를 추가하기 위해 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 대화 상자 포함)입니다. 구성 요소에는 입력 필드 나 텍스트 영역이 없으며 확인/취소 버튼이있는 대화 상자 만 있습니다. – user1813302
보이지 않더라도 마운트되어 있습니까? 문제는 이미 마운트되어 있지만 숨겨져 있고 대화 상자 구성 요소의 범위를 벗어나는 구성 요소를 클릭하거나 탭하면 키 바인딩이 응답하지 않을 수 있다는 것입니다. – glortho