Skip to content
This repository was archived by the owner on Aug 18, 2021. It is now read-only.

feat:add useFullScreen #28

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

yerlink
Copy link

@yerlink yerlink commented Nov 27, 2020

issue#8:useFullscreen 一个用于处理 dom 全屏的 Hook

@sendya
Copy link
Member

sendya commented Dec 4, 2020

能否增加全屏的状态事件回调(可选的),例如(伪代码):

interface Options {
  onExitFull?: () => void;
  onFull?: () => void;
}

const [elRef, { setFull, exitFull, toggleFull }] = useFullscreen({
  onExitFull: () => {
    console.log('退出了全屏');
  },
  onFull: () => {
    console.log('进入了全屏');
  }
});

// template
<div ref="elRef">content</div>
<button @click="toggleFull ">全屏/退出全屏</button>

@yerlink
Copy link
Author

yerlink commented Dec 4, 2020 via email

@noachan
Copy link

noachan commented Dec 8, 2020

可能我描述上由于不清楚,导致有点误解,出现了一些偏差

因为 全屏 取消全屏 都是调用浏览器 API ,有时候可能会有等待或者任何可能的事件卡住 JS 请求全屏功能,
(你可以当作 全屏 这个过程不一定是立即执行成功的 *(浏览器申请全屏时,首次执行可能会询问用户 是否允许全屏))

有时候我们有这样的需求,在请求全屏,或者退出全屏时,做一些事情。比如弹个框,或者改变一下布局。

例如:

  • 需求1: 全屏后,需要对当前布局的 Table 分页器固定显示到 "屏幕底部",这时候,我们一般可以通过监听你提供的 isFullscreen 响应式对象,来得知状态,并且控制分页器样式,但亦可通过一个全屏成功回调,在回调中处理逻辑,然后把分页器渲染到屏幕底部。
  • 需求2: 退出全屏后,希望通知用户看一下 用户的消息中心提醒,也可以在退出回调中进行调用通知。

我的期望:

  • useFullscreen 函数中,对 setFull, exitFull 都在函数执行完毕时,增加一个事件回调,比如用户有传递 onFull 事件,则内部执行用户的 onFull() 函数,来达到用户的事件监听

备注:也可以一起讨论更加好用的用法

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants