SSearchField <s-search-field>
Search queries के लिए एक text input। SSearchField Shopify के Polaris <s-search-field> web component का typed Vue 3 wrapper है।
ts
import { SSearchField } from 'polaris-vue-elements'Best practices
- इसका उपयोग उसी जगह filter करने के लिए करें। यह किसी विशेष section या list के content को सीमित करने के लिए उपयुक्त है। Global navigation या जटिल, बहु-चरणीय searches के लिए अधिक मज़बूत search pattern की ज़रूरत होती है।
- बताएँ कि क्या खोजा जा रहा है। एक विशिष्ट
labelऔरplaceholderलिखें जो merchants को बताएँ कि search किस content को कवर करता है और वे किन attributes से खोज सकते हैं। - Merchants के टाइप करते ही प्रतिक्रिया दें। जहाँ संभव हो, merchants के टाइप करते समय ही results या filter किया गया content अपडेट करें, ताकि वे अपनी query को बेहतर बना सकें और भरोसा कर सकें कि search काम कर रहा है।
- खाली की गई और बिना परिणाम वाली searches की योजना बनाएँ। जब field खाली की जाए, तो पूरी list वापस लाएँ। जब कुछ भी मेल न खाए, तो ऐसा संदेश दिखाएँ जो कोई दूसरा action या व्यापक search सुझाए।
- पर्याप्त input की प्रतीक्षा करें। ऐसी searches चलाने से बचें जो बहुत अधिक या अर्थहीन results लौटाएँ; दो या तीन characters के बाद शुरू करने से उपयोगी matches लौटाने के लिए पर्याप्त जानकारी मिल जाती है।
vue
<SSearchField label="Search products" placeholder="Search by title, SKU or vendor" />सभी सुझावों के लिए <s-search-field> के लिए Shopify की best practices (अंग्रेज़ी में) देखें।
उदाहरण
Value: (empty)
vue
<script setup>
import { ref } from 'vue'
import { SSearchField } from 'polaris-vue-elements'
const value = ref('')
</script>
<template>
<SSearchField label="Search products" placeholder="Search" v-model="value" />
<p>Value: {{ value }}</p>
</template>v-model
<SSearchField> पर v-model value property से bind होता है और input DOM event को सुनता है।
template
<SSearchField v-model="value" />इसके बराबर है:
template
<SSearchField :value="value" @input="value = $event.target.value" />Props
| Prop | Type | विवरण |
|---|---|---|
autocomplete | "language" | "organization" | "name" | "additional-name" | "address-level1" | "address-level2" | "address-level3" | "address-level4" … (84 more) | field में अपेक्षित content का संकेत। जब इसे on (default) पर सेट किया जाता है, तो यह property बताती है कि field को autofill सपोर्ट करना चाहिए, लेकिन अपेक्षित content के बारे में आपके पास कोई और semantic जानकारी नहीं है। off पर सेट करके आप बताते हैं कि इस field में संवेदनशील जानकारी है, या ऐसा content है जो कभी save नहीं होता, जैसे one-time codes। इसके बजाय, आप ऐसी value भी दे सकते हैं जो बताए कि autofill के दौरान इस field में कौन-सा विशेष डेटा भरा जाना चाहिए। |
defaultValue | string | field का डिफ़ॉल्ट मान। |
details | any | field के लिए संदर्भ या मार्गदर्शन देने वाला अतिरिक्त text। user को अधिक जानकारी या निर्देश देने के लिए यह text field और उसके label के साथ दिखाया जाता है। यह screen reader users को भी उपलब्ध कराया जाएगा। |
disabled | boolean | field को disable करता है, जिससे कोई भी interaction संभव नहीं रहता। |
error | any | user को error बताएँ। field को एक विशेष style दिया जाएगा, ताकि ऐसी समस्याएँ बताई जा सकें जिन्हें तुरंत हल करना ज़रूरी है। |
id | string | element के लिए एक unique identifier। |
label | any | field label के रूप में उपयोग होने वाला content। |
labelAccessibilityVisibility | "visible" | "exclusive" | component के label की visibility बदलता है। - visible: label सभी users को दिखाई देता है। - exclusive: label दृश्य रूप से छिपा रहता है लेकिन accessibility tree में बना रहता है। |
maxLength | number | अनुमत characters की अधिकतम संख्या बताता है। |
minLength | number | अनुमत characters की न्यूनतम संख्या बताता है। |
name | string | field के लिए identifier, जो सबसे नज़दीकी containing form के भीतर unique हो। |
placeholder | string | एक छोटा संकेत जो field की अपेक्षित value बताता है। |
readOnly | boolean | उपयोगकर्ता field को edit नहीं कर सकता। यह focus हो सकता है और screen readers द्वारा announce किया जाएगा। |
required | boolean | क्या field के लिए कोई मान ज़रूरी है। यह आवश्यकता field में semantic अर्थ जोड़ती है, लेकिन इससे अपने आप कोई error नहीं दिखेगा। यदि आप चाहते हैं कि यह field खाली होने पर error दिखे, तो आप error property के साथ ऐसा कर सकते हैं। |
value | string | field का वर्तमान मान। छोड़ देने पर field खाली रहेगा। |
पढ़ने में आसानी के लिए ऊपर के कुछ type columns छोटे किए गए हैं; पूरा union library के generate किए गए TypeScript types (
src/lib/generated/types.ts) में उपलब्ध है।
Events
| Event | Type |
|---|---|
blur | FocusEvent |
change | Event |
focus | FocusEvent |
input | Event |
इन्हें <SSearchField> पर @blur जैसे listeners से सुनें।
Slots
| Slot | विवरण |
|---|---|
details | |
error |