搜索

KeepAlive&AntdTimePicker


发布时间: 2022-11-24 21:24:01    浏览次数:30 次

KeepAlive&AntdTimePicker

0. 缘起

操蛋的局部全屏组件fscreen,antd的选择器下拉框灵魂仍然存在在原来未全屏的组件中。如果缓存多个页面,需要找到当前页面的父元素来匹配。

1. 找祖宗

部分下拉框需要特殊处理

从当前元素往上寻找bi-layout-canvas-track的元素

          getPopupContainer={trigger => getRightParentNode(trigger)}

  const getRightParentNode = useCallback(
    (trigger: HTMLElement) => {
      let now = trigger.parentElement;

      if (isFullScreen) {
         const specialClassName = 'bi-layout-canvas-track';

         while (!now?.className.includes(specialClassName)) {
           if (now) {
             now = now.parentElement;
           }
         }
        return now || document.body;
      }
      return document.body;
    },
    [isFullScreen]
  );

2. 找爸爸

日期选择器

                getPopupContainer={trigger =>
                  trigger.parentElement || document.body
                }

3.

免责声明 KeepAlive&AntdTimePicker,资源类别:文本, 浏览次数:30 次, 文件大小:-- , 由本站蜘蛛搜索收录2022-11-24 09:24:01。此页面由程序自动采集,只作交流和学习使用,本站不储存任何资源文件,如有侵权内容请联系我们举报删除, 感谢您对本站的支持。 原文链接:https://www.cnblogs.com/lepanyou/p/16923368.html