import _ from "lodash-es"; import { compute } from "@fast-crud/fast-crud"; export function useReference(formItem: any) { if (formItem.reference) { for (const reference of formItem.reference) { _.set( formItem, reference.dest, compute((scope) => { return _.get(scope, reference.src); }) ); } delete formItem.reference; } if (formItem.mergeScript) { const ctx = { compute }; const script = formItem.mergeScript; const func = new Function("ctx", script); const merged = func(ctx); _.merge(formItem, merged); delete formItem.mergeScript; } //helper if (formItem.helper && typeof formItem.helper === "string") { //正则表达式替换 [name](url) 成 let helper = formItem.helper.replace(/\[(.*)\]\((.*)\)/g, '$1'); helper = helper.replace(/\n/g, "
"); formItem.helper = { render: () => { return
; } }; } }