Form Context
表单上下文 (formContext) 提供对表单的引用。
API
form
返回:FormNode
表单的表单数据对象。
const formOnLoad = async (ctx) => {
const form = ctx.getFormContext().form;
// 给 businessDate 字段设置初始值
const businessDate = form.getField('businessDate');
businessDate.value = new Date();
}
mode
mode 描述了表单的模式,表单有以下几种模式:
create | 新增一个空白的表单 |
---|---|
copy | 从一个存在的表单复制的新的表单 |
edit | 编辑一个已存在的表单 |
view | 查看一个已存在的表单 |
返回:string
thisApp.formOnLoad = async (ctx) => {
const mode = ctx.getFormContext().mode;
console.log('mode', mode);
}
runInAction(action: () => void): void;
表单(可观察数据)批量操作(如表单字段赋值时), 可以提升处理性能
thisApp.formOnLoad = async (ctx) => {
const runInAction = ctx.getFormContext().runInAction;
runInAction(() => {
form.getSubGrid('detail').rows.forEach((row) => {
row.getField('price') = 100;
})
});
}
entityQuery(entityName)
返回:创建一个可以查询 entityName
对应业务对象数据的查询。
thisApp.formOnLoad = async (ctx) => {
const projectQuery = ctx.getFormContext().entityQuery('Project');
const projects = await projectQuery.findMany({
select: {
code: true,
name: true,
customer: true,
}
});
const projectCount = await projectQuery.aggregate({
count: {
id: true
}
});
console.log('projectCount', projectCount);
console.log('projects', projects);
}