深色模式
getTemplateFormFields
获取模板表单中的所有字段
示例
基础用法
ts
import { getTemplateForm } from '@smartos-lib/apis';
import { getTemplateFormFields } from '@smartos-lib/utils';
const templateForm = getTemplateForm('1711651576144896000');
templateForm.execute().then(() => {
const fields = getTemplateFormFields(templateForm.data!.data.templateContent);
console.log(fields); // [{ prop: 'a123', ... }, ...]
});配置项
ts
import { getTemplateForm } from '@smartos-lib/apis';
import { getTemplateFormFields } from '@smartos-lib/utils';
const templateForm = getTemplateForm('1711651576144896000');
templateForm.execute().then(() => {
// 默认配置项, 配置项细节见下方 "类型"
const fields = getTemplateFormFields(templateForm.data!.data.templateContent, {
defaultGroupFields: true,
groupFields: true,
subformFields: false,
groupSelf: false,
subformSelf: true,
});
console.log(fields); // [{ prop: 'a123', ... }, ...]
});类型
ts
/**
* 获取模板表单中的所有字段的选项
*/
interface GetTemplateFormFieldsOptions {
/**
* 包含默认分组内字段 ( 不包括子表单 )
* @default true
*/
defaultGroupFields?: boolean;
/**
* 包含其他分组内字段
* @default true
*/
groupFields?: boolean;
/**
* 包含子表单内字段
* @default false
*/
subformFields?: boolean;
/**
* 包含分组本身
* @default false
*/
groupSelf?: boolean;
/**
* 包含子表单本身
* @default true
*/
subformSelf?: boolean;
}
/**
* @param templateContentStr 表单内容配置, 支持传入原字符串或 `JSON.parse` 后的对象
* @param options 配置项
*/
function getTemplateFormFields(
templateContentStr: string | TemplateForm,
options?: GetTemplateFormFieldsOptions
): TemplateFormField[];