كيفية تحديد أي dijit.layout.accordionpane يتم اختياره حاليًا

StackOverflow https://stackoverflow.com/questions/2823762

  •  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);
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top