ExtJS 6.2.1とadmin-dashboardテンプレートを使用して、動的フォームを作成しようとしました(最終的にAJAXプロキシを使用してサーバーからExtJSにフォーム定義を渡しました)。私Application.jsでTreestoreによる動的フォーム
は、launch
機能では、ノーコントロールで簡単なフォームを追加しました:
var form = Ext.create('Ext.form.Panel', {
title: 'Testing 1, 2, 3...',
alias: 'widget.test-form',
bodyPadding: 5,
width: 350,
layout: 'anchor',
defaults: {
anchor: '100%'
}
});
私はこれのどこをレンダリングしたいが、その代わりに、私のTreeStoreのメニューに、それはアクセスしないでください、よう:私はビルドを行うときに
{
text: 'Dynamic Test',
iconCls: 'x-fa fa-check',
viewType: 'test-form',
leaf: true
}
すべてが偉大なコンパイルが、私は私のメニューからフォームにアクセスしようとすると、その後、私は404エラーを取得:
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (test-form.js, line 0)
Error: [Ext.create] Unrecognized class name/alias: widget.test-form
起動時にフォームが表示されるようにTreestoreを取得するにはどうすればよいですか?私はまた、ウィジェットでエイリアスの代わりにxtype
を試しましたが、基本的に同じエラーが発生しました。より一般的には、launch
に作成されたform
変数をアプリで使用できるようにして、希望どおりにアクセスできるようにするにはどうすればよいですか?
**私も私のアプリのlaunch
関数に、フォームのパネル定義に追加してみましたEDIT **
:
Ext.define('Admin.form.TestDyno', {
extend: 'Ext.panel.Panel',
alias: 'widget.test-form',
title: 'Testing 1, 2, 3...',
bodyPadding: 5,
width: 350,
layout: 'anchor',
defaults: {
anchor: '100%'
}
});
しかし、私はアプリを実行したとき、私はエラーを取得していること:
log — Util.js:881[E] [Loader] The following classes failed to load:
log — Util.js:881[E] [Loader] Admin.form.TestDyno from classic/src/Application.js
私のフォームの定義をファイルにして、アプリケーションの起動時にコンポーネントを初期化する必要がありますか?私は確かにそれを行うことができますが、launch
でフォーム定義を行うことができればうれしいです。私はこのようなものがlaunch-function-(Application)-and-set-parameters-on-the-componentだと思っています。私が必要とするものを実装する方法の詳細です。
私はそれを私のアプリケーション 'launch 'で試みましたが、うまくいきませんでした。私は後で詳細を掲載します。 –
上記の編集を参照してください。 –
私はこの問題に代わるアプローチをとるつもりです。フォームコンポーネントを動的に生成する代わりに、フォーム用のExtJSファイルの生成をスクリプト化します。問題は、リビジョン管理やその場での作成の容易性に使用するための隣接リストとして、いくつかの複雑なフォームの構造をデータベース化したことです。私はこれを取ってファイルを作るためにそれをシリアル化することができるはずです。手作業による編集がいくつかありますが、プロセスの最初の一歩です。したがって、あなたの答えは解決策を提供していませんでしたが、少なくとも私は考えるようになった。 –