手写实现
/**
* 检测文本是否溢出
* 参考 https://github.com/ElemeFE/element/blob/dev/packages/table/src/table-body.js#L241
* @param {*} e
* @returns
*/
function isEllipsis(e) {
return new Promise(resolve => {
const el = window.event || e; // 浏览器兼容,最好写一下
const eles = el.target;
const elComputed = document.defaultView.getComputedStyle(eles, '');
const padding =
parseInt(elComputed.paddingLeft.replace('px', '')) + parseInt(elComputed.paddingRight.replace('px', ''));
const range = document.createRange();
range.setStart(eles, 0);
range.setEnd(eles, eles.childNodes.length);
const rangeWidth = range.getBoundingClientRect().width;
if (rangeWidth + padding > eles.offsetWidth || eles.scrollWidth > eles.offsetWidth) {
resolve(true);
console.log('溢出了');
} else {
resolve(false);
console.log('没有溢出了');
}
});
}
tip:这个方法可以直接使用在elementplus的表头超出配置里面,具体的方法请参考ElementPlus 全局配置
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/158645.html