1. 削除機能が見つかりません
ベータ期間中は削除機能を提供していません。また、正式リリース後も提供されない可能性があります。削除は複雑な依存関係の問題を引き起こすため、現時点では必須と判断していません。方針は https://www.npmjs.com/ と同様です。2. ビジネスコンポーネントをどのように理解すればよいですか?
こちらのリンクを参照してください。3. コンポーネントの構造
コンポーネントはビューと属性で構成されます。利用者側では、コンポーネントの属性を変更することで、コンポーネントに異なるビューを表示できます。 ビューはさらに、デザインビューとランタイムビューに分けられます。多くの場合、両者は共通化して再利用できます。 提供者側では、コンポーネントのビューと属性の両方を個別に構築する必要があります。4. カスタムコンポーネントを含むアプリを他の組織に配布した後、正常に開けますか?
はい。 カスタムコンポーネントを含むアプリを他の組織に配布した後、配布先の組織はコンポーネントを正常に利用できますが、更新はできません。コンポーネントを更新するには、サービスプロバイダーがリモートメンテナンスを通じて、配布先のアプリに新バージョンのコンポーネントを再インストールする必要があります。コンポーネントが適切に抽象化されていれば、配布後のアプリ更新ニーズの一部に対応できます。5. ページ内でカスタムコンポーネントの属性にアクセスするには?
カスタムコンポーネントは基本コンポーネントと同じ動作をします。this.$('fieldId').get('propName') を使用して、対応するコンポーネントの属性を取得します。
6. ページ内でカスタムコンポーネントの属性を更新するには?
カスタムコンポーネントは基本コンポーネントと同じ動作をします。this.$('fieldId').set('propName', propValue) を使用して、対応するコンポーネントの属性を更新します。
または、データソースの変数バインディング方式を利用します。
7. コンポーネント内でページのコンポーネントを取得し、ページ内のコンポーネントと連携するには?
カスタムコンポーネントに関数型の属性を追加し、これをイベントコールバックとして利用できます。 ページ内では、このイベントコールバックを介してページ上の他のコンポーネントと連携できます。 コンポーネント内では、コンポーネントのイベント発生時や DidMount 内など、適切なタイミングでthis.props.xxx() を呼び出してこのコールバックを実行します。
ヒント:関数型の属性にはデフォルト値を設定でき、非表示にすることもできます。
8. カスタムコンポーネントを削除するには?
現在、コンポーネントの削除には対応していません。削除は複雑な依存関係の問題を引き起こすためです。方針は https://www.npmjs.com/ と同様です。9. カスタムコンポーネントをアンインストールするには?
現在、コンポーネントのアンインストールには対応していません。既存のアプリに影響を及ぼす可能性があるためです。この機能は今後のイテレーションで検討します。10. カスタムコンポーネントはサードパーティ NPM パッケージのインストールに対応していますか?
現時点では対応していません。代わりに、CDN リソースの動的読み込みを利用できます。11. インストール後、パネルにコンポーネントが表示されません
A:インストールのスコープを確認してください。12. カスタムコンポーネントを使用してフォームでデータを送信するには?
A:現在、YiDA カスタムコンポーネントはフォームコンポーネントに対応していません。データを送信したい場合は、既存のフォームコンポーネントに値を設定する方法をご利用ください。例:一意の識別子を持つ属性を宣言し、利用時に既存フォームの一意の識別子を渡したうえで、コンポーネント側のイベントを通じて必要なデータを既存フォームに書き戻します。13. コンポーネントバージョンの説明
コンポーネントは 開発版 と 正式版 に分かれます。 YiDA カスタムコンポーネントのバージョン管理は、セマンティックバージョニング に追加の規約を加えた方式に従います。- 0.1.0 はデフォルトの開発版です。開発版はコンポーネントデザイナーとリアルタイムに同期してデバッグできます。
- 1.x.x はリリース後の正式版であり、現行バージョンの機能をロックすることで、オンライン利用時の安定性を保証します。したがって、本番環境のアプリはリリース後に正式版 1.x.x をインストールする必要があります。
14. 属性を定義しました。この属性が変化したとき、コンポーネントはどのように連動して変化しますか?
コンポーネントデザイナーで変化させたいコンポーネントを選択し、対象となる属性を特定したうえで、その属性に変数またはカスタムハンドラー関数をバインドします。そしてthis.props.xxx を使用して、各ケースに応じた処理を実装します。例: