Ng-zorro-antd: [建议] 更好友的模板驱动表单

Created on 18 Sep 2017  ·  4Comments  ·  Source: NG-ZORRO/ng-zorro-antd

ng-zorro-antd 文档都是以响应式表单方式构建表单;而好像忽略了模板驱动表单,这倒置了一些 Angular 内置的指令无法发挥作用,例如:

<nz-input [(ngModel)]="btn_save" name="btn_save" [nzPlaceHolder]="'默认:提交'"
    maxlength="10"></nz-input>

maxlength 原来是 Angular 内置的用于校验长度。这些参数还包括:

  • required
  • minlength
  • maxlength
  • pattern

涉及组件

这可能会涉及到数据录入部分的多个组件,以下是我整理。

| 组件名 | required | minlenght | maxlength | pattern | 说明 |
| ------ | ------ | ------ | ------ | ------ | ------ |
| nz-input | √ | √ | √ | √ | nz-input 提供了一个指令形式,可以满足。但文档中未加以描述。 |
| nz-datepicker | √ | | | | |
| nz-select | √ | | | | |
| nz-input-number | √ | | | | |
| nz-timepicker | √ | | | | |

理由

响应式表单固然是最佳选择,然而对于模板驱动表单的优势是相对于减少代码量、只需要维护HTML部分。这对于像企业后台大量表单反而更方便。

并此举我认为没有必要在视觉上做相应的响应,组件校验状态都会在 class 中表述。

IssueHuntFest Form 🌈 Feature Request

Most helpful comment

@vthinkxie 建议采用以下的接口形式,直接暴露原生表单元素,来避免原生表单元素的接口被屏蔽的问题
```



````

All 4 comments

@vthinkxie 建议采用以下的接口形式,直接暴露原生表单元素,来避免原生表单元素的接口被屏蔽的问题
```



````

@Maroon1 支持这种方式,这和material2的接口方式很像,希望开发组可以参考下material2的部分接口方式,取其精华

有什么打算解决这个问题?

@0maxxam0 funded this issue with $15. See it on IssueHunt

Was this page helpful?
0 / 5 - 0 ratings