本文主要是介绍G6换行符处理超长文本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、带省略号:
export function fittingString(str, maxWidth, fontSize) {const ellipsis = "...";const ellipsisLength = G6.Util.getTextSize(ellipsis, fontSize)[0];let currentWidth = 0;let res = str;const pattern = new RegExp("[\u4E00-\u9FA5]+"); // distinguish the Chinese charactors and lettersstr.split("").forEach((letter, i) => {if (currentWidth > maxWidth - ellipsisLength) return;if (pattern.test(letter)) {currentWidth += fontSize;} else {currentWidth += G6.Util.getLetterWidth(letter, fontSize);}if (currentWidth > maxWidth - ellipsisLength) {res = `${str.substr(0, i)}${ellipsis}`;}});return res;
}
处理数据时在节点处使用:
return {...el,label: fittingString(el.label, 80, 16),
这篇关于G6换行符处理超长文本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!