Function Tools函数工具

在我们发布 Needle@2.0 之前,很多工具类的函数都是从 @hvisions/core 中导入的,比如: i18n, Service 等等。我们希望在 Needle@2.0 之后, 大家可以从@hvisions/toolkit导入你需要的函数。我们这么做的目的是为了让 Core 变得更加轻量与专注

i18n

国际化的使用

import { i18n } from '@hvisions/toolkit';
const { getFormattedMsg } = i18n;
getFormattedMsg('user.label.name')

exportFile

文件下载

示例中的 dHh05paH5Lu2 是经过 base64 加密后的字符串,模拟从后端获取的 base64。

import { file } from '@hvisions/toolkit';
const { exportFile } = file;
exportFile({body: 'dHh05paH5Lu2', fileName: '测试文件'}, 'application/json'); // 示例

/**
 * exportFile({body: '', fileName: ''}, ContentType)
 */

参数名 说明 类型 默认值 必须 版本
body 文件流 string - -
fileName 文件名称 string - -
ContentType 指示资源的 MIME 类型(根据文件类型填写对应的类型) string application/vnd.ms-excel -

formatTree

树形结构格式化

import { tree } from '@hvisions/toolkit';
const { formatTree } = tree;

const testData = [
  { id: 1, data: 1, parentId: 0 },
  { id: 10, parentId: 1, data: 2 },
  { id: 2, parentId: 1, data: 3 }
];

formatTree(testData)

/**
 *             +---------------------+--------------------------+
 *             |                     |                          |
 *          id = 1                id = 2                      id = 3
 *        parentId = 0          parentId = 0                parentId = 0
 *         children[]            children[]                  children[]
 *             |                     |                           |
 *            /                     /                +-----------+-----------+
 *           /                     |                 |                       |
 *       id = 4                 id = 5            id = 6                  id = 7
 *     parentId = 1           parentId = 2     parentId = 3             parentId = 3
 *      children[]             children[]        children[]              children[]
 */

showTotal

分页描述函数

import { page } from '@hvisions/toolkit';
const { showTotal } = page;

<Pagination
  size='small'
  showSizeChanger
  showQuickJumper
  ...
  showTotal={(total, range) => showTotal(total, range)}
/>

engine

文字引擎智能搜索

import { engine } from '@hvisions/toolkit';
const pinyinEngine = new engine([1,2,3,4, 'a', 'b', 'a123', '菜单管理', '用户管理']); // 初始化搜索数据,并且建立索引关系
pinyinEngine.query('gl')  // 根据关键字搜索 ----> ['菜单管理', '用户管理']
pinyinEngine.query('a')  // 根据关键字搜索 ----> ['a', 'a123']
2022-08-29
0