2017-10-03 7 views
11

के बाद फोकस खो गया है मेरे पास केवल 1 कॉलम और लगभग 1000 पंक्तियों के साथ एक यूई-ग्रिड है। प्रत्येक पंक्ति में एक टेक्स्टबॉक्स होता है। मैं टैब द्वारा टेक्स्टबॉक्स के माध्यम से नेविगेट करना चाहता हूं। यह 10-15 पंक्तियों के बारे में ठीक काम करता है, उसके बाद टेक्स्टबॉक्स अपना ध्यान खो रहा है, फिर यदि आप टैब को फिर से दबाते हैं, तो यह अगले कुछ पंक्तियों को छोड़ देगा और आगे के टेक्स्टबॉक्स पर जायेगा।पंक्ति के अनुसार टैबिडेक्स कुछ निरंतर टैब

$scope.gridOptions = { 
    rowHeight: '200', 
    enableColumnMenus: false, 
    paginationPageSize: 2000, 
    columnDefs: [ 
     {name:"value", width:'*', 
     cellTemplate: gridTemplate, 
     } 
    ], 
    data: gridData 
}; 

उत्तर

1

इस व्यवहार क्यों होता है::

ui.grid डिफ़ॉल्ट रूप से हालांकि अपने ही ui.grid.infiniteScroll मॉड्यूल है यह आपके सभी 1000 से प्रस्तुत नहीं होती

मुद्दा plnkr here

यूआई ग्रिड विकल्प देखें प्रदर्शन दंड के कारण आइटम।

यदि आप तालिका की डीओएम संरचना का निरीक्षण करेंगे तो आपको पता चलेगा कि ui.grid केवल 15 आइटम प्रस्तुत करता है और इसे स्क्रॉलिंग पर दबाता है (टैब क्लिक पर स्क्रॉल ट्रिगर भी)। यह एक कारण है कि टैब क्लिक पर फोकस के साथ पहले 15 आइटम सही तरीके से काम करते हैं। नए सूचकांक 15 आइटम

enter image description here

जब आप सूचकांक 16 तक पहुँचते हैं, ui.gridफिर से प्रस्तुत करना है और इसलिए आप ध्यान खो देते हैं।

मैंने देखा कि तुम भी github/issues पर इस समस्या का खोला और मैं 1479 अन्य लोगों के अलावा अपने ui.grid बग का मानना ​​है :)।

इतिहास से ui.grid में फोकस से संबंधित लगभग 200 मुद्दे हैं और ऐसा लगता है कि उनके डेवलपर्स उन्हें ठीक करने के लिए जल्दी नहीं करते हैं क्योंकि यह बहुत जटिल है और प्रतिगमन का कारण बन सकता है।

तो मेरा निष्कर्ष सिर्फ इसके साथ रहने या अंकन संरचना का उपयोग करने के लिए है।

1

जो भी @Maxim उल्लेख किया गया है वह बिल्कुल सही है। इस समस्या से छुटकारा पाने के लिए, वर्कअराउंड के रूप में आप क्या कर सकते हैं वर्चुअल थ्रेसहोल्ड = 50 सेट किया गया है और पेजिनेशन का उपयोग करने के लिए, ताकि ध्यान केंद्रित न हो।

1

आप टैब कुंजी प्रेस ईवेंट को पकड़कर अपने आस-पास अपना रास्ता हैक कर सकते हैं, और डिफ़ॉल्ट व्यवहार को ओवरराइड कर सकते हैं।

प्रत्येक टेक्स्टबॉक्स अगले टेक्स्टबॉक्स पर फ़ोकस पास करने, कुंजी-प्रेस ईवेंट पर सुनेंगे।

यहां an example है जो मदद कर सकता है।

हालांकि, 1000 इनपुट खराब यूएक्स की तरह लगता है, और शायद खराब प्रदर्शन होगा।

संबंधित मुद्दे