ionic-team / ionic-team/ionic-framework

feat: Allow integration of Angular custom form controls with ion-item validation behavior

オープン
#21,903 コメント 7 件 リアクション 0 件 担当者 0 名 GitHub で見る
package: angular type: feature request
主要言語
TypeScript
スター
52.7k
フォーク
13.3k
平均マージ
1日 15時間
マージ済み PR(30日)
51

説明

# Feature Request

**Ionic version:**

[x] 5.3.1

**Describe the Feature Request**

Ionic/Angular has a nice UI feature that presents validation status to users in the form of CSS classes that map to the ng form control classes. eg,` ng-valid/ng-invalid` maps to `ion-valid/ion-invalid` etc. And these classes somehow get pushed to the containing `ion-item` of the control which does the actual presentation.

We have several custom form control components and we would like to have them behave in the same manner. But there doesn't seem to be an easy way to integrate with this functionality.

Please provide a mechanism to integrate custom form controls with the ion-item valid/invalid presentation behavior.

We currently cannot implement this behavior and our forms do not function well when custom form controls are used within `ion-item` lists.

**Describe Preferred Solution**

An abstract version of Ionic's [`ValueAccessor`](https://github.com/ionic-team/ionic-framework/blob/master/angular/src/directives/control-value-accessors/value-accessor.ts) class that components could extend would be nice. This seems to be where the magic happens.

**Describe Alternatives**

Alternatively, a number of public hooks that could be called to patch the Angular functions and set the Ionic classes would also work.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start with angular/src/directives/control-value-accessors/value-accessor.ts, which the issue identifies as the source of the existing validation behavior. Trace how it connects Angular custom form controls to ion-item classes, then define and document a public integration mechanism. Done means custom controls can trigger the same valid/invalid presentation inside ion-item.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, typescript
領域
frontend
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。