@hzab/data-model
组件模板
组件
示例
import DataModel, {
setToken,
getToken,
setDefaultErrMsg,
setDefaultAxios,
} from "@hzab/data-model";
const listDM = new DataModel({
query,
createApi,
createMap,
getApi,
getMap,
getListApi,
getListMap,
getListFunc,
updateApi,
updateMap,
deleteApi,
multipleDeleteApi,
axios,
axiosConf,
getListReqMap,
getListResMap,
getReqMap,
getResMap,
createReqMap,
createResMap,
updateReqMap,
updateResMap,
deleteReqMap,
deleteResMap,
multipleDeleteReqMap,
multipleDeleteResMap,
});
function Demo({ orgId }) {
const model = useDataModel(
{
getListApi: "/getList",
query: { orgId },
},
{
effectParams: { orgId },
effectQuery: { orgId },
effectTargets: [orgId],
},
);
return <ListRender model={model} />;
}
DataModel
参数 | 类型 | 必填 | 默认值 | 说明 |
---|
query | Object | 否 | - | query 参数对象 |
createApi | string | 否 | - | post 接口地址 |
getApi | string | 否 | - | 详情 get 接口地址 |
getListApi | string | 否 | - | 列表 get 接口地址 |
updateApi | string | 否 | - | put 接口地址 |
deleteApi | string | 否 | - | delete 接口地址 |
multipleDeleteApi | string | 否 | - | 批量删除 delete 接口地址 |
createMap | Function | 否 | - | createApi 接口提交前的处理函数 |
getMap | Function | 否 | - | getApi 接口返回结果的处理函数 |
getListMap | Function | 否 | - | getListApi 接口返回结果的处理函数 |
getListFunc | Function | 否 | - | 自定义的列表请求函数,优先级高于 getListApi |
updateMap | Function | 否 | - | updateApi 接口提交前的处理函数 |
axios | Object | 否 | - | axios 实例对象 |
axiosConf | Object | 否 | - | axios 相关配置 |
getListReqMap | Function | 否 | - | 列表接口 get 入参枚举函数 |
getListResMap | Function | 否 | - | 列表接口 get 出参枚举函数 |
getReqMap | Function | 否 | - | 详情接口 get 入参枚举函数 |
getResMap | Function | 否 | - | 详情接口 get 出参枚举函数 |
createReqMap | Function | 否 | - | 新增接口 get 入参枚举函数 |
createResMap | Function | 否 | - | 新增接口 get 出参枚举函数 |
updateReqMap | Function | 否 | - | 编辑接口 get 入参枚举函数 |
updateResMap | Function | 否 | - | 编辑接口 get 出参枚举函数 |
deleteReqMap | Function | 否 | - | 删除接口 get 入参枚举函数 |
deleteResMap | Function | 否 | - | 删除接口 get 出参枚举函数 |
multipleDeleteReqMap | Function | 否 | - | 批量删除接口 get 入参枚举函数 |
multipleDeleteResMap | Function | 否 | - | 批量删除接口 get 出参枚举函数 |
useDataModel
参数 | 类型 | 必填 | 默认值 | 说明 |
---|
initParams | Object | 是 | - | 初始参数,通同 DataModel |
opt | Object | 否 | - | 配置参数 |
opt.effectTargets | Object | 否 | - | 动态数据监听的目标 |
opt.effectParams | Object | 否 | - | 动态的 params 数据,包含了 query |
opt.effectQuery | Object | 否 | - | 动态的 query 数据 |
组件开发流程
- 在 config/webpack.config.js 中按需修改 library 配置的文件名
- 在 config/webpack.config.js 中按需修改 alias 配置的包名,便于本地调试
- 在 tsconfig.json 中按需修改 paths 配置的包名,解决 ts 报错问题
- npm run dev
文件目录
- example 本地开发测试代码
- src 组件源码
- lib 组件打包编译后的代码
命令
发布
配置
配置文件
webpack 配置文件