سيكون من الجيد إذا كان بإمكانك إضافة دالة focus
إلى vaadin-combo-box
للتركيز عليها برمجيًا.
في الوقت الحالي ، أنا أستخدم comboBoxElement.$.input.focus()
ولكن لا يبدو أنه من الصواب الوصول إلى العنصر الداخلي ومع وظيفة focus
سيتصرف مثل HTMLElement "عادي".
فكرة جيدة 👍 سأبقي هذه المشكلة مفتوحة لمزيد من المناقشة داخل فريقنا. التنفيذ بسيط ، لكننا حريصون على عدم إضافة وظائف / خصائص غير ضرورية إلى عناصرنا. يعد إهمال وظيفة ما وإزالتها من واجهة برمجة التطبيقات الخاصة بنا أمرًا شاقًا دائمًا 😸
لا يجب أن تكون إضافة واجهة برمجة التطبيقات مشكلة نظرًا لأن focus()
هو جزء من عنصر HTML الأصلي وبالتالي فهو مضمن بالفعل.
يمكننا استخدام نفس الأسلوب الذي يستخدمه <paper-input>
بجعل عنصر المضيف قابلاً للتركيز وتفويض الأحداث focus
و blur
وصولاً إلى العنصر <input>
الداخلي.
samiheikki ، هذا ليس ضروريًا - إنه مطلب لتطبيقات الأعمال لتكون قادرة على التركيز على عنصر تحكم الإدخال :-).
FWIW ، من السهل القيام بذلك من خلال العمل مباشرة مع الإدخال:
this.$.comboBox.$.input.focus()
لكن بالطبع هذا يستخدم مكونًا فرعيًا (وهو ليس آمنًا) ، ولست متأكدًا من أنه يعمل عند تمكين shadow DOM.
التعليق الأكثر فائدة
فكرة جيدة 👍 سأبقي هذه المشكلة مفتوحة لمزيد من المناقشة داخل فريقنا. التنفيذ بسيط ، لكننا حريصون على عدم إضافة وظائف / خصائص غير ضرورية إلى عناصرنا. يعد إهمال وظيفة ما وإزالتها من واجهة برمجة التطبيقات الخاصة بنا أمرًا شاقًا دائمًا 😸