Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@hzab/list-render
Advanced tools
列表组件,支持传入 schema 进行 CURD 相关组件(列表、新增、编辑、删除)的渲染
import ListRender from "@hzab/list-render";
const listDM = useMemo(
() =>
new DataModel({
getListApi: "/api/v1/userinfo",
// 可用于替代 getList 的函数,处理自定义数据
getListFunc() {
return new Promise((resolve) => {
resolve({
list: [{ id: 1, menuName: "name" }],
pagination: { total: 1, current: 1 },
});
});
},
createApi: "/api/v1/userinfo",
getApi: "/api/v1/userinfo/:id",
updateApi: "/api/v1/userinfo/:id",
deleteApi: "/api/v1/userinfo/:id",
}),
[],
);
// testSchema 为 formily 生成的 schema json
<ListRender schema={testSchema} model={listDM} />;
属性名称 | 属性类型 | 必须 | 默认值 | 描述 |
---|---|---|---|---|
schema | Object | 是 | 字段描述文件,包含各个字段的信息 | |
model | Object | 是 | 数据模型,包含 CURD 接口信息 | |
model.query | Object | 是 | 传入初始的 query 信息,通常是分页信息 { pageSize: 10, pageNumber: 1 },pageSize 可以取 10/20/50,query 信息会在列表请求的时候带给后端 | |
hasQuery | Boolean | true | 是否包含搜索、筛选框、搜索按钮等 | |
search | String | '' | 传入空字符串时,不包含搜索框;传入非空字符串时,显示搜索框,同时传入的字符串作为搜索框的占位符 | |
filters | Array | [] | 字符串数组,可以包含要筛选的字段 key 值(schema 中的 name),或者字符串 '$timerange'(时间范围筛选专用) | |
hasCreate | Boolean | true | 是否显示新增按钮 | |
hasAction | Boolean | true | 是否在表格的最右增加一个“操作”列;hasAction 为 true 时,下面的 canCreate/canEdit/canDelete 才会生效 | |
hasEdit | Boolean | true | 是否显示编辑按钮 | |
hasDel | Boolean | true | 是否显示删除按钮 | |
fetchOnEdit | Boolean | true | 展示编辑弹框时,是否会调用一次详情接口进行回填(某些场景下,列表接口只返回部分部分字段,只有详情接口会返回全部字段);若为 false,则会使用表格列表接口返回的 row 数据进行回填 | |
fetchById | Boolean | true | 编辑中的详情请求,是否使用 id 作为入参的 key | |
components | Object | {} | 自定义组件 | |
formInitialValues | Object | {} | 给新增、编辑对话框中的表单增加默认值 | |
dialogConf | Object | {} | dialog 配置对象 | |
colConf | Object | {} | 指定各列的参数(比如列宽),key 为字段的 name。可以指定名为 “$actionBtns”的字段来设置“操作”列 | |
queryConf | Object | {} | 设置 query 参数的 key | |
paginationConf | Object | {} | 进行 pagenation 相关设置 |
函数名 | 参数 | 说明 |
---|---|---|
onSearch | 重置页码至 1,并刷新列表 | |
getList | 获取当前页列表数据 | |
forceUpdate | 强制重渲染列表,解决枚举数据渲染不正常的问题 | |
formDialogRef | 新增、编辑 弹窗 form-dialog 的 ref | |
queryRef | 筛选条件 query-render 的 ref |
import DataModel from "@hzab/list-render/data-model";
// 生成实例
const dataModel = new DataModel({
createApi: "api",
createMap(data) {
return data;
},
getApi: "api",
getMap(res) {
return res;
},
getListApi: "getListApi",
getListMap(item) {
return item;
},
updateApi: "updateApi",
updateMap(data) {
return data;
},
deleteApi: "deleteApi",
multipleDeleteApi: "multipleDeleteApi",
query: { pageNumber: 1, pageSize: 10 },
axiosConfig: {
timeout: 10000,
},
});
// 调用方式
async function test() {
const createRes = await dataModel.create();
const getRes = await dataModel.get();
const getListRes = await dataModel.getListApi();
const updateRes = await dataModel.update();
const deleteRes = await dataModel.delete();
const multipleDeleteRes = await dataModel.multipleDelete();
}
属性名称 | 属性类型 | 必须 | 默认值 | 描述 |
---|---|---|---|---|
createApi | String | post 请求的 api,dataModel. | ||
createMap | Function | post 请求提交前的处理函数 | ||
getApi | String | get 请求的 api | ||
getMap | Function | 处理 get 返回结果,处理完需要把结果返回 | ||
getListApi | String | getList 获取列表的 api,返回列表数据和 pagination 数据 | ||
getListMap | Function | getList 结果 map 的回调函数,参数为结果每一项数据,处理完需要把结果返回 | ||
getListFunc | Function | 可用于替代 getList 的函数,处理自定义数据,参数为 query | ||
updateApi | String | put 请求的 api | ||
updateMap | Function | put 请求提交前的处理函数 | ||
deleteApi | String | delete 请求的 api | ||
multipleDeleteApi | 批量删除请求的 api,使用的 axios({ method: 'DELETE' }) 发请求 | |||
query | get 请求的参数 | |||
axiosConfig | Object | axios 的配置项 |
FAQs
列表组件,支持传入 schema 进行 CURD 相关组件(列表、新增、编辑、删除)的渲染
The npm package @hzab/list-render receives a total of 5 weekly downloads. As such, @hzab/list-render popularity was classified as not popular.
We found that @hzab/list-render demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.