0

Chrome的情况还可以,IE11也可以

设置“transfer”(false) 和“inner”(true) 后,Drawer 的工作方式如下:

https://run.iviewui.com/prdkRwyB

正常效果

使用IE10时出现问题

抽屉显示在标签外面而不是里面。

异常效应

并且抽屉的html代码已经放在了它的父标签之外

4

2 回答 2

0

如果你使用F12开发者工具查看HTML和CSS,你可以看到抽屉在iview卡体之外,看来这个问题和iView有关,你可以联系他们反馈这个问题。

IE 11 中的截图:

在此处输入图像描述

IE 10 中的截图:

在此处输入图像描述

于 2019-02-25T10:08:49.570 回答
0

我找到了问题的解决方案。(iview 3.2.2)

iview/src/directives/tansfer-dom.js

这个 js 文件处理 DOM 传输作业,这导致抽屉面板传输出父 DOM。

inserted (el, { value }, vnode) {
        if ( el.dataset && el.dataset.transfer !== 'true') return false;
        el.className = el.className ? el.className + ' v-transfer-dom' : 'v-transfer-dom';
        const parentNode = el.parentNode;
        if (!parentNode) return;
        const home = document.createComment('');
        let hasMovedOut = false;

        if ( value !== false) {
            parentNode.replaceChild(home, el); // moving out, el is no longer in the document
            getTarget(value).appendChild(el); // moving into new place
            hasMovedOut = true
        }
        if (!el.__transferDomData) {
            el.__transferDomData = {
                parentNode: parentNode,
                home: home,
                target: getTarget(value),
                hasMovedOut: hasMovedOut
            }
        }
    },

如文件所示

如果(值!== 假)

对第 9 行的判决是不恰当的。

如下替换代码并运行'npm run dist'重建iview,</p>

如果(值 && 值!== 假)

抽屉在 IE10 中显示良好

于 2019-02-26T09:27:08.580 回答