extjs の各コンポーネントは一意の ID を設定する必要があります。そうしないと、さまざまなエラーが発生します。
EXTJS は基本的に ID に依存してコンポーネントを識別します。panel1 に「keyword」という ID を持つテキストフィールドがあり、panel2 があります。次に、panel2 を閉じると、extjs は、panel2 の ID: "keyword" コンポーネントがまだpanel1 で使用中であることを検出するため、それを破棄せず、分離されたオブジェクトになります。混乱。
何にせよ、オブジェクト ID は常に一意である必要があることを常に覚えておく必要があります。これを行うには 2 つの方法があります:
1. オブジェクトの ID を指定せず、コンポーネントの find メソッドを使用して他の属性 (find("name", など) を通じてオブジェクトを検索します。もちろん、属性は一意であるため、find("name","role")[0] を使用してコンポーネントを参照できます。
2. 親コンポーネント ID と子コンポーネント ID の形式で子コンポーネントを指定することもできます。これは extjs が内部的に行うことです。 id "_role "。ここではこれが親コンポーネントを指すことに注意してください。インスタンス化の際、親コンポーネントの ID は一意である必要があるため、同じコンポーネントを 2 回インスタンス化した場合でも、2 つのインスタンスの子コンポーネントは一意の ID を持ちます。これにより、ID の重複の問題をうまく処理できます。