javascript - 全屏打开模式

标签 javascript reactjs antd

有没有一种方法可以打开一个模式,就像在 youtube 视频中一样,当您点击全屏时它会占据整个屏幕 View 。

现在这就是我到目前为止所取得的成就

<Modal
      title={false}
      visible={visible}
      footer={false}
      centered
      width="100vw"
      onCancel={() => setVisible(false)}
    >
      <div style={{height: '100vh'}}>
        some content
      </div>
    </Modal>

这就是它的样子

enter image description here

我希望它看起来像这样

enter image description here

最佳答案

使用纯 JavaScript,你可以做类似的事情

const modal = document.querySelector('#myModalsClass')
modal.requestFullscreen()

如果您查找全屏 API 的文档,您会发现有关如何使用它的其他有用信息。

如果您使用的是 React,则需要使用 ref 来访问 dom api

import React, { useRef } from "react";

const MyComponent = (props) => {
  const myFullscreenComponent = useRef();
  const openContentFullscreen = () => {
    const element = myFullscreenComponent.current;
    if (element && element.requestFullscreen) {
      element.requestFullscreen();
    }
  };
  return (
    <div>
      <button onClick={openContentFullscreen}>Full Screen</button>
      <div className="modal" ref={myFullscreenComponent}>
        content I want to be fullscreen
      </div>
    </div>
  );
};

关于javascript - 全屏打开模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73119164/

相关文章:

javascript - Ext.ModelManager.getModel 已在 extjs 5 中弃用

reactjs - 从单个文件导出的 Material UI v4 makeStyles 不会在刷新时保留样式

javascript - 如何在 render() 中的 JSX 组件树中定义的组件上调用 React forceUpdate()

reactjs - 样式化 SVG 组件

javascript - 使用 jQuery 编码元素

javascript - 那么如何在 promise 内打破呢?

javascript - 更改 jQuery 中当前元素的背景

javascript - ReactJS:单独渲染状态而不是作为数组

reactjs - Ant.design 没有检测到 Form.Item React 中的自定义输入组件

angular - 调整Nz-Table动态列中某些列的宽度