Не удается очистить форму angular-json-схемы после отправки - PullRequest
0 голосов
/ 18 октября 2019

Я строю форму, используя json-schema-form, и использую эту библиотеку. https://www.npmjs.com/package/angular6-json-schema-form

Это выглядит великолепно, но у меня есть одна проблема. После отправки я хочу очистить форму, но это невозможно.

Я не смог найти метод в документе, а также искал stackoverflow и гуглил, но не нашел решения. Итак, я очистил форму, используя Javascript после отправки, но данные формы, похоже, где-то сохранены, поэтому возможна повторная отправка без каких-либо действий.

Вот код

<json-schema-form
     *ngIf="isInquireForm"
     class="contact-form"
     loadExternalAssets="true"
     framework="no-framework"
     [options]="inquireFormOption"
     [schema]="inquireFormSchema"
     [form]="inquireFormLayout"
     (onSubmit)="onInquireSubmit($event)"
     (isValid)="inquireIsValidFn($event)"
     (validationErrors)="inquireValidationErrorsFn($event)">
</json-schema-form>

1 Ответ

1 голос
/ 20 октября 2019

Вам необходимо создать объект, чтобы заполнить форму значениями по умолчанию и связать ее с компонентом формы схемы json. Когда вам необходимо выполнить сброс, очистите данные в объекте.

data = {
   first_name: "abc",
   last_name: "xyz"
}
<json-schema-form
     *ngIf="isInquireForm"
     class="contact-form"
     loadExternalAssets="true"
     framework="no-framework"
     [options]="inquireFormOption"
     [schema]="inquireFormSchema"
     [form]="inquireFormLayout"
     [(data)]="data"
     (onSubmit)="onInquireSubmit($event)"
     (isValid)="inquireIsValidFn($event)"
     (validationErrors)="inquireValidationErrorsFn($event)">
</json-schema-form>

И, чтобы очистить форму, выполните сброс data

data = {
   first_name: "",
   last_name: ""
}
...