2013-04-16 15 views
20

लिए मैं निम्नलिखित AngularUI-Bootstraptypeahead महान काम कर रहा है:सीमा कोणीय यूआई-बूटस्ट्रैप Typeahead विशिष्ट वस्तु संपत्ति

<input class="span2" type="text" ng-model="selectedStuff" typeahead="stuff as stuff.name for stuff in stuffs | filter:$viewValue"/> 

हालांकि, यह लगभग भी महान काम कर रहा है । मैं के प्रयोजनों के लिए stuffs.name प्रदर्शित करने में सक्षम हूं और stuffs में पूर्ण stuff ऑब्जेक्ट का चयन करें। समस्या यह है कि $viewValuestuff.name के बजाय stuff में सभी गुणों से मेल खाता है। मैंने .name को typeahead में किसी भी भाग्य के साथ जोड़ने के लिए प्रयास किया है। क्या केवल .name प्रदर्शित करने और मिलान करने का एक सीधा तरीका है लेकिन फिर भी पूरी वस्तु को वापस कर देता है?

उत्तर

38

http://angular-ui.github.io/bootstrap/ रेपो से टाइपहेड निर्देश मौजूदा अंगुलरजेएस पारिस्थितिकी तंत्र में अच्छी तरह से फिट करने के लिए बनाया गया था। इसका अर्थ यह है कि यह निर्देश पहले से ही एंगुलरजेएस में उपयोग किए गए वाक्यविन्यास, फ़िल्टर और निर्देशों के जितना संभव हो सके पुन: उपयोग करने का प्रयास करता है।

अपने प्रश्न पर वापस - छानने ही कोणीय के फिल्टर फिल्टर यहाँ वर्णित द्वारा किया जाता है: http://docs.angularjs.org/api/ng.filter:filter उल्लेख फिल्टर की वाक्य रचना इतनी छूट संपत्तियों की एक चयनित सेट करने के लिए खोजों को सीमित करने के लिए है:

typeahead="stuff as stuff.name for stuff in stuffs | filter:{name: $viewValue}" 

नोटिस करें: filter:{name: $viewValue}

कार्य यहाँ फेंकना: http://plnkr.co/edit/o1qWKq8LSmbbmVaYkOvb?p=preview

+0

आपको बहुत बहुत धन्यवाद! मैं कसम खाता हूं कि मैं आरटीएफएम की कोशिश कर रहा हूं, लेकिन मुझे लगता है कि मुझे इसमें रखना होगा। – Jesse

+0

मुझे यह अंतर नहीं दिखता है कि 'फ़िल्टर: {name: $ viewValue} ' मैंने इसे' फ़िल्टर: $ viewValue' में बदलने की कोशिश की और आउटपुट वही था। –

+0

@SadFarooq जब आप वाक्यविन्यास टी 'फ़िल्टर बदलते हैं: $ viewValue', कोणीय मूल रूप से ऑब्जेक्ट से बाहर एक JSON स्ट्रिंग बनाता है और खोज करता है। सिंटैक्स pkozlowski केवल नाम फ़ील्ड खोजों का इस्तेमाल किया। उपरोक्त Plnkr पर "दूसरा" शब्द का प्रयोग कर परीक्षण करें। यह नाम फ़ील्ड में कहीं नहीं दिखाई देता है। यदि आप इसे सुझाए गए अनुसार संपादित करते हैं, तो "दूसरा" दूसरा परिणाम दिखाएगा। – jklemmack

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