كيفية تحديد أي dijit.layout.accordionpane يتم اختياره حاليًا
-
26-09-2019 - |
سؤال
حاولت استخدام "dijit.layout.accordionpane.selected" لتحديد ما إذا كان أي أكورديونبان معين في التركيز (محدد). ومع ذلك ، سيتم تعيين خاصية AccordionPane.selected على "صحيح" بمجرد اختيار الأكورديونبان ، ويتم تحديد الأكورديونبان. وبعبارة أخرى ، إذا كان لدي 3 أكورديونبان ، بعد أن نقرت على جميعهم الثلاثة ، الأكورديونبان. خاصية تم تحديدها لجميعها 3 "صحيحة" الآن. هل هذا خطأ ، أم أن هناك طرقًا أخرى لتحديد أي أكورديونبان يتم اختياره حاليًا (في التركيز)؟ شكرا لك مقدما!
ديفيد
المحلول
يجب عليك استخدام dijit.layout.AccordionContainer
الذي يحتوي على كل هؤلاء الثلاثة dijit.layout.AccordionPane
لتحديد أي واحد يتم اختياره حاليا.
يمكنك استخدام dijit.layout.AccordionContainer
خاصية selectedChildWidget
للحصول على محدد الحالي dijit.layout.AccordionPane
.
نصائح أخرى
AccordionPane
يتم لف داخل AccordionContainer
. ال AccordionContainer
يمتد StackContainer
التي تستخدم قناة اتصال حانة Dojo's Pub-Sub للإعلان عند اختيار جزء. اشترك في الموضوع [widgetId]-selectChild
للحصول على إخطار في كل مرة عند تحديد جزء جديد. [widgetId]
هو معرف عنصر واجهة المستخدم لعنصر الحاوية.
dojo.subscribe("[widgetId]-selectChild", function(pane){
console.log("A new pane was selected:", pane);
});