#TypedVariableInput
TypedVariableInput dient dazu: einem Feld Konstanten und Variablen zugleich erlauben.
#Grundlegende Verwendung
import React from 'react';
import { Application, Plugin, TypedVariableInput } from '@nocobase/client-v2';
import { Form } from 'antd';
function DemoPage() {
return (
<Form
layout="vertical"
style={{ maxWidth: 420 }}
initialValues={{ port: 465, secure: true }}
>
<Form.Item name="port" label="Port">
<TypedVariableInput
types={[['number', { min: 1, max: 65535, step: 1 }]]}
namespaces={['$env']}
/>
</Form.Item>
<Form.Item name="secure" label="Secure">
<TypedVariableInput types={['boolean']} namespaces={['$env']} />
</Form.Item>
</Form>
);
}
class DemoPlugin extends Plugin {
async load() {
this.flowEngine.context.defineProperty('$env', {
value: { SMTP_PORT: '465', SMTP_SECURE: 'true' },
meta: {
title: 'Environment variables',
type: 'object',
properties: {
SMTP_PORT: { title: 'SMTP_PORT', type: 'string' },
SMTP_SECURE: { title: 'SMTP_SECURE', type: 'string' },
},
},
});
this.router.add('root', {
path: '/',
element: <DemoPage />,
});
}
}
const app = new Application({
router: { type: 'memory', initialEntries: ['/'] },
plugins: [DemoPlugin],
});
export default app.getRootComponent();
#API
| Parameter | Typ | Beschreibung |
|---|---|---|
value | unknown | Aktueller Wert |
onChange | (next: unknown) => void | Änderungs-Callback |
types | TypedConstantSpec[] | Erlaubte Konstantentypen |
namespaces | string[] | Erlaubte Top-Level-Namespaces für Variablen |
extraNodes | MetaTreeNode[] | Zusätzliche lokale Variablenknoten |
nullable | boolean | Ob null erlaubt ist |
delimiters | [string, string] | Variablen-Trennzeichen |
disabled | boolean | Ob deaktiviert |
placeholder | string | Platzhaltertext |
style | React.CSSProperties | Eigener Stil |
className | string | Eigene className |

