Chrome的情况还可以,IE11也可以
设置“transfer”(false) 和“inner”(true) 后,Drawer 的工作方式如下:
使用IE10时出现问题
抽屉显示在标签外面而不是里面。
并且抽屉的html代码已经放在了它的父标签之外
设置“transfer”(false) 和“inner”(true) 后,Drawer 的工作方式如下:
抽屉显示在标签外面而不是里面。
并且抽屉的html代码已经放在了它的父标签之外
我找到了问题的解决方案。(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 中显示良好