mxKeyHandler не работает, когда компонент React перемонтирован - PullRequest
0 голосов
/ 04 декабря 2018

Я использую mxGraph в Реагирующем одностраничном приложении и создаю новый mxKeyHandler в componentDidMount .Я также вызываю его метод destroy в componentWillUnmount .Все работает нормально при первом посещении страницы с компонентом mxGraph , но если я перехожу на другую страницу и возвращаюсь (без обновления страницы), она больше не работает.

componentDidMount() {
    this.editor = new mxEditor();
    this.editor.setGraphContainer(this.mxGraphRef.current);
    ...... 
    this.keyHandler = new mxKeyHandler(this.editor.graph);
    this.keyHandler.bindKey(46, evt => {
      this.editor.graph.removeCells();
    });
}

componentWillUnmount() {
    this.keyHandler.destroy();
    this.editor.destroy();
}

Какой-нибудь совет относительно того, что я делаю неправильно?

1 Ответ

0 голосов
/ 05 декабря 2018

Хорошо, решение было добавить следующие 2 строки:

this.editor.graph.container.setAttribute('tabindex', '-1');
this.editor.graph.container.focus();

Как описано здесь: https://jgraph.github.io/mxgraph/docs/known-issues.html#Focus

...