Skip to content

BizCrudPage 增删改查页 ​

一页式 CRUD 容器:把 BizSearchForm(查询)、BizTable 工具栏(刷新 / 密度 / 列设置)、远程表格、BizFormDialog(新增 / 编辑二合一弹窗)、BizConfirmButton(删除确认)编排为整体。提供 schema 与 request 函数即可生成完整管理页,组件不含任何业务接口。

基础用法 ​

搜索 → 表格 → 新增 / 编辑 / 删除全链路,提交与删除实现由 submit-request / delete-request 注入,成功后自动提示并刷新列表。

手动提交契约与插槽 ​

未传 submit-request 时通过 submit 事件拿到 values / mode / done 自行处理;列插槽(columns[].slot)与工具栏左侧插槽自由扩展渲染。

精简列表页(无表单弹窗) ​

序列号
未知
暂无数据
不传 formFields 即无新增/编辑能力(操作列仅删除);toolbar 关闭、每页 10 条——只读台账/日志类页面的最省配置。
只读台账场景:不传 form-fields 即无新增 / 编辑(操作列仅删除),toolbar 关闭、page-size 收到 10、删除确认文案定制——设备台账 / 日志类页面的最省配置。

订单管理页 ​

买家
订单状态
请选择订单状态
未知
¥0.00
暂无数据
订单场景:searchInitial 预置「待支付」、状态列 BizStatusTag、金额列 BizAmount(分转元)、createText / editText 定制(手工录单 / 改价)。

固定资产台账 ​

资产
状态
请选择状态
固定资产台账
未知
暂无数据
资产场景:toolbar 细项全开(refresh / density / columnSetting / fullscreen)、selection 多选列、deleteText 改「报废」+ 定制确认文案。

操作审计查询 ​

操作人
动作
未知
暂无数据
只读场景:无表单无删除(不传 formFields / deleteRequest),toolbar 关闭、每页 15 条——日志类页面最省配置。

筛选预设联动 ​

渠道
请选择渠道
状态
请选择状态
订单查询
暂无数据
search-preset 透传 BizSearchForm 的 preset 通道:搜索区出现「保存方案 / 应用」控件,应用后回填条件并自动查询;方案持久化在 localStorage(storageKey),适合运营反复切「常用条件组合」的查询页。

工具栏导出 ​

关键词
暂无数据
export-request 注入后工具栏自动出现导出按钮:接收当前查询参数返回 Blob(CSV / xlsx 文件流),确认 → loading → 落盘的编排由 BizExportButton 承担;export-filename 定制文件名。

行内编辑 ​

商品管理
暂无数据
列配置 inlineEdit(input / number / select / switch)+ inline-save-request 保存实现:双击排序列 / 状态列 / 精选开关就地修改——回车或失焦保存(Esc 取消),成功后提示并刷新列表,是弹窗编辑之外的高频微编辑形态。

左树右表(基础 + 树搜索) ​

传入 aside-tree 即启用左树右表:静态分类树 + 表格,进入页面自动选中首个节点,选中值以 nodeId 并入查询参数触发过滤;filterable 开启本地搜索(静态树全量过滤)——部门-人员 / 分类-商品 / 区域-门店类主从页的最常用形态。

左树右表(懒加载组织树) ​

lazy 注入逐级拉取子节点(根层级入参 null);param 自定义并入查询参数的字段名(本例 deptId);树筛选与搜索条件叠加生效,aside-change 外抛选中节点。注:懒加载树下 filterable 仅过滤已加载节点,需要全量搜索请用静态树。

左树右表(可折叠 + 手动选择) ​

collapsible(默认开)支持把侧栏收成窄条让表格占满;auto-select-first: false 关闭自动选中改为手动点选,aside-change 联动外部统计。

左树右表(完整 CRUD 管理页) ​

树 + 搜索 + 新增 / 编辑弹窗 + 删除完整编排:树选中值在搜索 / 重置后保留叠加;配合 openForm expose 让新增表单自动带出当前分类。

Props ​

属性名类型默认值说明
titlestring''页面标题(透传 BizTable 工具栏标题)
search-fieldsBizSearchField[]—搜索字段 schema(透传 BizSearchForm)
search-presetBizSearchPresetConfig—搜索区筛选预设配置(透传 BizSearchForm preset:保存 / 应用 / 星标,应用后自动查询)
search-initialRecord<string, unknown>{}初始查询参数(进入页面即生效)
columnsBizCrudColumn[]—(必填)表格列 schema(BizTableColumn + inlineEdit 行内编辑扩展)
aside-treeBizCrudAsideTree—左树右表侧栏树配置,传入即启用 aside 模式:静态 data 或 lazy 懒加载、param 并入查询参数的字段名(默认 nodeId)、filterable 树搜索(静态树全量过滤;懒加载树仅过滤已加载节点)、autoSelectFirst 自动选中首节点(默认开)、title / width / collapsible / defaultExpandAll / emptyText 外观项
form-fieldsBizFormField[]—弹窗表单字段 schema;传入后自动出现新增 / 编辑能力
request(params) => Promise<{ list, total }>—(必填)远程数据源(BizTable dataSource 签名)
submit-request(values, mode) => Promise<void>—保存实现;resolve 后自动关弹窗、提示并刷新
delete-request(row) => Promise<void>—删除实现;resolve 后自动提示并刷新
export-request(params) => Promise<Blob>—导出实现(接收当前查询参数);传入后工具栏自动出现导出按钮
export-filenamestring'{title}.xlsx'导出文件名(含扩展名)
inline-save-request(row, field, value) => Promise<void>—行内编辑保存实现;resolve 后自动提示并刷新列表
create-text / edit-text / delete-textstring'新增' / '编辑' / '删除'动作文案
delete-messagestring'删除后不可恢复,是否继续?'删除确认弹窗内容
action-label / action-widthstring / number'操作' / 150自动追加的操作列标题与宽度
page-sizenumber20初始每页条数
row-keystring'id'行 key 字段
toolbarbooleantrueBizTable 工具栏开关
form-label-widthstring / number'100px'弹窗表单标签宽度
form-dialog-attrsRecord<string, unknown>{}透传 BizFormDialog(width / top / append-to-body...)

Events ​

事件名参数说明
search(values)查询条件提交(已同步进表格 params)
reset(values)重置(已同步进表格 params)
preset-apply(values)筛选预设应用(回填 + 自动查询已完成)
submit({ values, mode, done })未传 submit-request 时的手动保存契约;done() 结束按钮 loading,关弹窗由业务侧控制
submitted(mode)submit-request 模式保存成功
deleted(row)submit-request 模式删除成功(未传 delete-request 时点击确认即触发,由业务侧处理)
inline-saved(row, field, value)行内编辑保存成功
aside-change(node: BizCrudTreeNode)左树右表侧栏选中节点变化(已同步进表格 params,树筛选与搜索条件叠加)
refresh—工具栏刷新透传

Slots ​

插槽名说明
toolbar-left工具栏左侧追加区(新增按钮之后)
form-extra弹窗表单底部追加内容
动态插槽搜索字段插槽(searchFields[].slot)与表格列插槽(columns[].slot)同名转发,作用域与内部组件一致

Expose ​

属性/方法说明
refresh()远程重新请求列表
getSelection()当前多选行
openForm(mode, row?)外部主动打开弹窗表单
getAsideNode()当前选中的侧栏树节点(未启用 aside / 未选中时为 null)