diff --git a/app/web/src/nova/ed/panel/side/prop-instance/prop-option.tsx b/app/web/src/nova/ed/panel/side/prop-instance/prop-option.tsx index 662a6227..5891269a 100644 --- a/app/web/src/nova/ed/panel/side/prop-instance/prop-option.tsx +++ b/app/web/src/nova/ed/panel/side/prop-instance/prop-option.tsx @@ -38,11 +38,10 @@ export const EdPropInstanceOptions: FC<{ checkbox: { width: 0, }, + options: [] as MetaOption[] }); const p = useGlobal(EDGlobal, "EDITOR"); - let metaOptions: MetaOption[] = []; - config.opt[name] = () => { local.metaFn = null; local.loaded = null; @@ -86,17 +85,14 @@ export const EdPropInstanceOptions: FC<{ const resOpt = ${cprop.meta.optionsBuilt || cprop.meta.options}; if (typeof resOpt === 'function') local.metaFn = resOpt; -else metaOptions = resOpt; - - -console.log(metaOptions, local)` +else local.options = resOpt;` ); res(...Object.values(arg),local); } catch (e) { console.error(e); } } else { - metaOptions = local.loaded; + local.options = local.loaded; } if (local.metaFn && !local.loaded && !local.loading) { @@ -118,7 +114,7 @@ console.log(metaOptions, local)` } catch (e) {} useEffect(() => { - if (Array.isArray(metaOptions) && !Array.isArray(evalue)) { + if (Array.isArray(local.options) && !Array.isArray(evalue)) { local.val = evalue; local.render(); } @@ -147,10 +143,10 @@ console.log(metaOptions, local)` let mode = cprop.meta?.option_mode; if (!mode) mode = "button"; - if (metaOptions && metaOptions.length > 0) { - for (const [k, v] of Object.entries(metaOptions)) { + if (local.options && local.options.length > 0) { + for (const [k, v] of Object.entries(local.options)) { if (typeof v === "string") { - metaOptions[k as any] = { label: v, value: v }; + local.options[k as any] = { label: v, value: v }; } } } @@ -166,12 +162,12 @@ console.log(metaOptions, local)` onChange={(ev) => { onChange( `"${ev.currentTarget.value}"`, - metaOptions.find((e) => e.value === ev.currentTarget.value) + local.options.find((e) => e.value === ev.currentTarget.value) ); }} > - {Array.isArray(metaOptions) && - metaOptions.map((item, idx) => { + {Array.isArray(local.options) && + local.options.map((item, idx) => { return (