首页 > 其他分享 >vue2自定义指令实现el-dropdown下拉菜单项最小宽度等于内容宽度

vue2自定义指令实现el-dropdown下拉菜单项最小宽度等于内容宽度

时间:2023-10-07 16:58:38浏览次数:34  
标签:el uid 自定义 dropdown 宽度 let 下拉菜单

//在main.js添加
Vue.directive('siem-dropdown', function (el, binding, vNode) {
    let ul = el.querySelector("ul")
    let uid = vNode.componentInstance._uid; // 获取下拉菜单实例的 uid
    let siemDropdownClass = `siem-dropdown-${uid}`;
    ul.classList.add(siemDropdownClass);

    if (el) {
        setTimeout(() => {
                const $dom = document.querySelectorAll(`.${siemDropdownClass}`)[0]; // 获取下拉菜单项浮层元素
                if (el?.offsetWidth) {
                    $dom.style.minWidth = el.offsetWidth + 'px'; // 设置最小宽度为下拉菜单内容宽度
                }
        }, 100);
    }
})

标签:el,uid,自定义,dropdown,宽度,let,下拉菜单
From: https://www.cnblogs.com/LiZiheng/p/17746696.html

相关文章