Подсказка по интерфейсу материала остается открытой после закрытия диалогового окна - PullRequest
0 голосов
/ 01 мая 2018

Я предполагаю, что состояние Диалога вызывает проблему, но я не смог понять это. Подсказка работает так, как задумано, до тех пор, пока не будет нажата иконка. Диалоговое окно всплывает, как и должно, но когда закрывается диалоговое окно, всплывающая подсказка отображается как активная.

class DeleteDocument extends React.Component {
  state = {
    open: false,
  };

  onDeleteFile() {
    try {
      ensureJobIsUnlocked();
    } catch (err) {
      return;
    }

    const confirmedByUser = true;
    if (confirmedByUser) {
      this.props.onDeleteFile(this.props.selectedDocument.id);
      this.setState({ open: false });
    }
  }

  handleClickOpen = () => {
    this.setState({ open: true });
  };

  handleClose = () => {
    this.setState({ open: false });
  };

  render() {
    return (
      <div>
        <Tooltip id="tooltip-icon" title="Delete Document">
          <div>
            <IconButton
              disabled={(this.props.selectedDocument == null)}
              onClick={this.handleClickOpen}
            >
              <DeleteIcon />
            </IconButton>
          </div>
        </Tooltip>
        <Dialog
          open={this.state.open}
          onClose={this.handleClose}
          aria-labelledby="alert-dialog-title"
          aria-describedby="alert-dialog-description"
        >
          <DialogTitle id="alert-dialog-title">{'Delete Document'}</DialogTitle>
          <DialogContent>
            <DialogContentText id="alert-dialog-description">
              This will delete the currently active PDF/Component Design. Are you sure you want to do this?
            </DialogContentText>
          </DialogContent>
          <DialogActions>
            <Button onClick={this.handleClose} color="primary">
              Cancel
            </Button>
            <Button onClick={this.onDeleteFile.bind(this)} color="primary" autoFocus>
              Delete
            </Button>
          </DialogActions>
        </Dialog>
      </div>
    );
  }
}

Ответы [ 2 ]

0 голосов
/ 03 августа 2018

установить disableFocusListener = {true} в соответствии с этим документом https://material -ui.com / api / tooltip /

0 голосов
/ 03 мая 2018

см. Выпуск # 9624 :

Это ожидаемое поведение. Это сделано из соображений доступности. У вас есть два варианта: либо отключить реакцию всплывающей подсказки на события фокуса, либо отключить поведение фокуса при восстановлении диалога.

1. Отключить реакцию всплывающей подсказки на события фокуса ( документы )

<Tooltip disableTriggerFocus={true} />

Edit Material-ui - tooltip disable restore focus trigger

2. Отключить диалоговое окно восстановления фокуса поведения ( документы )

<Dialog disableRestoreFocus={true} />

Edit Material-ui - tooltip disable restore focus

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...