javascript - ExtJS कॉम्बोबॉक्स ट्रिगरएक्शन क्या करता है: "सब" वास्तव में करते हैं?



combobox (1)

किसी आइटम को चुनने के बाद, सूची को वर्तमान टेक्स्ट मान से मेल खाने के लिए फ़िल्टर किया जाता है। आपके मामले में, यह हमेशा चयनित मूल्य है, लेकिन बहु-वर्ण मानों के साथ अधिक स्पष्ट है (Ext में राज्य नाम उदाहरण देखें)। यदि आप चयनित मान हटाते हैं, तो ड्रॉपडाउन सभी मान रखने के लिए वापस जायेगा। triggerAction:'all' अर्थ फ़िल्टर नहीं होता है, हमेशा सभी मान दिखाएं।

https://code.i-harness.com

मैंने एक सरल कॉम्बोबॉक्स बनाने की कोशिश की:

var combo1 = new Ext.form.ComboBox({
  store: [1,2,3],
  renderTo: document.body
});

लेकिन इस तरह लिखा है कि यह अजीब तरीके से कार्य करता है:

  • जब आप पहली बार ड्रॉपडाउन खोलते हैं, तो यह तीन विकल्प प्रदान करता है।
  • आप एक चुनते हैं।
  • लेकिन जब आप अपने चयन को बदलने की कोशिश करते हैं, तो ड्रॉपडाउन केवल एक विकल्प प्रदान करता है - जिसे आपने पहले चुना था।

मैंने अपने कोड को एक्सटी होमपेज पर samples से तुलना की और पाया कि triggerAction: "all" जोड़ना triggerAction: "all" मेरी समस्या हल करता है:

var combo2 = new Ext.form.ComboBox({
  triggerAction: "all",
  store: [1,2,3],
  renderTo: document.body
});

ट्रिगरएक्शन के लिए ExtJS दस्तावेज़ मुझे बहुत कुछ नहीं बताता है:

ट्रिगर पर क्लिक होने पर निष्पादित करने की क्रिया। AllQuery कॉन्फ़िगरेशन विकल्प द्वारा निर्दिष्ट क्वेरी को चलाने के लिए 'सभी' का उपयोग करें ('क्वेरी' पर डिफ़ॉल्ट)

मैंने allQuery विकल्प निर्दिष्ट नहीं किया है। असल में, मैं सर्वर पर एक क्वेरी नहीं करना चाहता हूं।

तो यह triggerAction वास्तव में क्या करता है?

और यह वास्तव में "all" सेट कर रहा है, जब मुझे बस एक साधारण स्थैतिक combobox चाहिए तो मुझे क्या करना चाहिए?





extjs