wujingjing
2024-09-20 635c207f171dcfa5dbb03422d807f12c786da354
src/utils/util.ts
@@ -168,9 +168,9 @@
export const convertListToTree = (
   data: any[],
   defaultProps = {
      ID: 'ID',
      Children: 'Children',
      ParentID: 'ParentID',
      ID: 'id',
      Children: 'children',
      ParentID: 'parent',
   }
) => {
   if (!data || data?.length === 0) return [];
@@ -210,7 +210,7 @@
   callback: (value: T, index?, array?, parent?) => any,
   parent: any = null,
   markParent = false,
   childrenKey = 'Children'
   childrenKey = 'children'
) => {
   if (!treeData || treeData.length === 0) return;
   if (!parent) parent = treeData;
@@ -708,3 +708,29 @@
   if (num == null) return '';
   return num.toFixed(precision).replace(/\.?0+$/, '');
};
type GetTextWidthOption = {
   size?: string;
   family?: string;
};
export function getTextWidth(text: string, option: GetTextWidthOption) {
   if (!text) return 0;
   const { size = '14px', family = 'Microsoft YaHei' } = option;
   const spanEle = document.createElement('span');
   document.body.appendChild(spanEle);
   spanEle.style.font = 'times new roman';
   spanEle.style.fontSize = size;
   spanEle.style.height = 'auto';
   spanEle.style.width = 'auto';
   spanEle.style.position = 'absolute';
   spanEle.style.whiteSpace = 'no-wrap';
   spanEle.innerHTML = text;
   const width = spanEle.clientWidth;
   document.body.removeChild(spanEle);
   return width;
}