json - 提交后无法清除 angular-json-schema-form
问题描述
我正在使用 json-schema-form 构建一个表单,并且正在使用这个库。 https://www.npmjs.com/package/angular6-json-schema-form
这看起来不错,但我有一个问题。提交后,我想清空表格,但是不可能。
我在文档中找不到方法,也搜索了stackoverflow并google了,但没有得到解决方案。所以我在提交后使用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>
解决方案
您需要创建一个对象以使用默认值填充表单并将其绑定到 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: ""
}
推荐阅读
- node.js - 如何在 Google App Engine 上修复 CORS Node.js
- templates - 如何显示产品模板中的商店字段?
- sql - SQL将字符串转换为十进制,其中最后一个字段是负标识符
- angular - 将引导程序和 jQuery 添加到 Angular 8
- html - html:删除有序列表和前一行之间的空格
- java - 如何添加因查询参数不同的多个 RestController 端点?
- python - 在 UI PyQt5 中更新时钟和文本
- omnet++ - 即使我没有实现任何 BSM 发送,为什么 RSU 在收到预定的自消息后仍开始向节点发送 BSM 消息
- scala - 错误:org.apache.spark.sql.AnalysisException:无法推断 CSV 的架构
- drools - 如何备份和访问 jbpm 7.3 maven artifactory 和 git 存储库