Ana içeriğe geç

Kullanım

Paketi kurup NvsDynamicFormModule’ü register ettikten sonra (bkz. Kurulum), formlarınızı nvs-dynamic-form component’i ile render edebilirsiniz.

nvs-dynamic-form input/output’ları

İsimTipTürAçıklama
fromClassstringInputOluşturulan form için CSS class adı.
validatorOrOptsValidatorFn | ValidatorFn[] | AbstractControlOptionsInputAlttaki FormGroup’a ekstra validator/opsiyon eklemek için.
submitButtonVisiblebooleanInputSubmit butonunun görünürlüğü.
submitButtonLabelstringInputSubmit butonu label’ı.
submitButtonIsFullWidthbooleanInputSubmit butonunu tam genişlik yapar.
submitButtonPosition'left' | 'right' | 'center'InputSubmit butonu hizası.
fieldsany[]InputField tanımları (field model class instance’ları).
onSubmitEventEmitter<{ values: any; valid: boolean }>OutputForm submit olduğunda tetiklenir.

Basit örnek

app.component.ts
import { Component } from '@angular/core';
import { Validators } from '@angular/forms';

import { NvsDynamicFormModule, TextboxField } from '@nvs-dynamic-form/ng-core';

@Component({
selector: 'app-root',
standalone: true,
templateUrl: './app.component.html',
styleUrl: './app.component.scss',
imports: [NvsDynamicFormModule],
})
export class AppComponent {
fields = [
new TextboxField({
label: 'Ad',
key: 'firstName',
placeholder: 'Jane',
validators: [Validators.required],
screenSize: {
desktop: 6,
mobile: 12,
},
}),
new TextboxField({
label: 'Soyad',
key: 'lastName',
placeholder: 'Doe',
screenSize: {
desktop: 6,
mobile: 12,
},
}),
new TextboxField({
label: 'E-posta',
key: 'emailAddress',
screenSize: 12,
}),
];

onSubmit({ values, valid }: { values: any; valid: boolean }) {
if (valid) {
alert(JSON.stringify(values));
}
}
}
app.component.html
<nvs-dynamic-form [fields]="fields" (onSubmit)="onSubmit($event)"></nvs-dynamic-form>