select
सीएसएस मटीरियल में कार्यक्षमता का डिजाइन , मेरी राय में, इसका उपयोग न करने का एक बहुत अच्छा कारण है।
आपको सेलेक्ट एलिमेंट को इनिशियलाइज़ करना है material_select()
@ Littleguy23 उल्लेखों के । यदि आप नहीं करते हैं, तो चयन बॉक्स भी प्रदर्शित नहीं होता है! एक पुराने जमाने के jQuery ऐप में, मैं इसे दस्तावेज़ तैयार फ़ंक्शन में आरंभ कर सकता हूं। लगता है क्या, न तो मैं और न ही कई अन्य लोग इन दिनों jQuery का उपयोग कर रहे हैं, और न ही हम दस्तावेज़ तैयार हुक में अपने एप्लिकेशन को इनिशियलाइज़ करते हैं।
गतिशील रूप से निर्मित चयन । क्या होगा अगर मैं गतिशील रूप से चयन कर रहा हूं, जैसे कि एम्बर जैसे ढांचे में होता है जो मक्खी पर विचार उत्पन्न करता है? जब भी कोई दृश्य उत्पन्न होता है, तो मुझे प्रत्येक बॉक्स में लॉजिक जोड़ना होगा, जब भी कोई दृश्य उत्पन्न होता है, या मेरे लिए उसे देखने के लिए एक व्यू मिक्सिन लिखें। और यह इससे भी बदतर है: जब दृश्य उत्पन्न होता है, और एम्बर शब्दों didInsertElement
में कहा जाता है, तो चयन बॉक्स के लिए विकल्पों की सूची के लिए बाध्यकारी अभी तक हल नहीं किया गया हो सकता है, इसलिए मुझे विशेष तर्क की आवश्यकता है जो तब तक प्रतीक्षा करने के लिए विकल्प सूची का अवलोकन कर रहा है। कॉल करने से पहले पॉपुलेटेड material_select
। यदि विकल्प बदलते हैं, जैसा कि वे आसानी से हो सकते हैं, तो material_select
इसके बारे में कोई विचार नहीं है और ड्रॉपडाउन अपडेट नहीं करता है। material_select
जब विकल्प बदलते हैं तो मैं फिर से कॉल कर सकता हूं , लेकिन ऐसा प्रतीत होता है कि कुछ भी नहीं है (अनदेखा किया गया है)।
दूसरे शब्दों में, ऐसा प्रतीत होता है कि सीएसएस के चुनिंदा बक्सों के पीछे डिज़ाइन की धारणा यह है कि वे सभी पृष्ठ लोड पर हैं, और उनकी स्थिति कभी नहीं बदलती।
क्रियान्वयन । सौंदर्य की दृष्टि से, मैं सीएसएस को उसके ड्रॉपडाउन को लागू करने के तरीके के पक्ष में नहीं हूं, जो डोम में कहीं और तत्वों के समानांतर, छाया सेट बनाने के लिए है। दी गई, विकल्प 2 जैसे विकल्प एक ही काम करते हैं, और दृश्य प्रभावों में से कुछ को प्राप्त करने का कोई अन्य तरीका नहीं हो सकता है (वास्तव में?)। मेरे लिए, हालांकि, जब मैं एक तत्व का निरीक्षण करता हूं, तो मैं तत्व को देखना चाहता हूं, न कि कुछ छाया संस्करण कहीं और जो किसी ने जादुई रूप से बनाया हो।
जब एम्बर दृश्य को फाड़ता है, तो मुझे यकीन नहीं है कि सीएसएस इसे बनाए गए छाया तत्वों को फाड़ देता है। वास्तव में, अगर यह करता है तो मुझे काफी आश्चर्य होगा। यदि मेरा सिद्धांत सही है, जैसा कि विचार उत्पन्न होते हैं और नीचे फाड़ दिए जाते हैं, तो आपका DOM किसी भी चीज़ से कनेक्ट नहीं होने के दर्जनों सेट के साथ प्रदूषित हो जाएगा। यह न केवल एम्बर पर बल्कि किसी अन्य MVC / टेम्प्लेट-आधारित OPA फ्रंट-एंड फ्रेमवर्क पर लागू होता है।
बाइंडिंग । मैं यह भी पता लगाने में सक्षम नहीं हुआ हूं कि एम्बर जैसे ढांचे में उपयोगी किसी भी चीज को वापस करने के लिए संवाद बॉक्स में चयनित मूल्य को कैसे प्राप्त किया जाए जो एक {{view 'Ember.Select' value=country}}
प्रकार के इंटरफेस के माध्यम से चुनिंदा बक्से को आमंत्रित करता है। दूसरे शब्दों में, जब कुछ चुना जाता है, country
तो उसे अपडेट नहीं किया जाता है। यह एक डील-ब्रेकर है।
लहरें । वैसे, वही मुद्दे बटन पर "लहर" प्रभाव पर लागू होते हैं। आपको हर बार एक बटन बनाने के लिए इसे इनिशियलाइज़ करना होगा। मैं व्यक्तिगत रूप से लहर के प्रभाव के बारे में परवाह नहीं करता, और समझ में नहीं आता कि सभी उपद्रव के बारे में क्या है, लेकिन अगर आप लहरों को चाहते हैं, तो ध्यान रखें कि आप अपने जीवन के बाकी हिस्सों का एक अच्छा हिस्सा बिताएंगे कि कैसे चिंता करें हर एक बटन को इनिशियलाइज़ करें जब यह बना हो।
मैं सीएसएस दोस्तों द्वारा किए गए प्रयासों की सराहना करता हूं, और वहां कुछ अच्छे दृश्य प्रभाव हैं, लेकिन यह बहुत बड़ा है और इसके पास बहुत सारे गोचर हैं जैसे कि ऊपर कुछ ऐसा होगा जो मैं उपयोग करूंगा। अब मैं अपने ऐप से CSS को भौतिक बनाने की कोशिश कर रहा हूं और वापस बूटस्ट्रैप या सूट सीएसएस के ऊपर एक लेयर पर जा सकता हूं। आपके उपकरण आपके जीवन को आसान बनाने चाहिए, कठिन नहीं।
<select class="browser-default">