MUI-鼠标按下时模式关闭(鼠标右键和鼠标中键)

时间:2020-03-06 16:58:55

标签: material-ui

当前,在退出和鼠标左键单击时模态会关闭,是否可以在鼠标右键和鼠标中键单击时(鼠标下移事件)将其关闭?

1 个答案:

答案 0 :(得分:1)

您可以控制模式的关闭/打开状态:

function Demo() {
  const [closed, setClosed] = React.useState(true);

  return (
    <React.Fragment>
      <button onClick={() => setClosed(false)}>open</button>
      <Modal
        BackdropProps={{
          onMouseDown: event => {
            // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button#syntax
            const isRightClick = event.button === 2;
            const isMiddleClick = event.button === 1;
            if (isRightClick || isMiddleClick) {
              setClosed(true);
            }
          }
        }}
        open={!closed}
        onClose={() => setClosed(true)}
      >
        <p>some content</p>
      </Modal>
    </React.Fragment>
  );
}

请参见https://codesandbox.io/s/material-ui-modal-close-on-right-click-m87sm

相关问题