Skip to content

SUrlField <s-url-field> ​

Web addresses के लिए एक text input। SUrlField Shopify के Polaris <s-url-field> web component का typed Vue 3 wrapper है।

ts
import { SUrlField } from 'polaris-vue-elements'

Best practices ​

  • URLs की जाँच स्वयं करें। Browser का built-in URL validation न्यूनतम है और अलग-अलग browsers में भिन्न होता है, इसलिए संरचना, अनुमत protocols और आपके use case द्वारा स्वीकार किए जाने वाले formats के लिए अपनी जाँचें जोड़ें।
  • अपेक्षित format दिखाएँ। Merchants को बताएँ कि protocol शामिल करना है या नहीं, कौन-से protocols अनुमत हैं और आप किस प्रकार का URL चाहते हैं। placeholder में एक पूरा उदाहरण URL इसे स्पष्ट कर देता है।
  • तय करें कि छूटे हुए protocol को कैसे संभालना है। Merchants अक्सर https:// छोड़ देते हैं। चुनें कि उसे उनके लिए जोड़ना है, उसके बिना URLs स्वीकार करने हैं, या एक error दिखाना है जो बताए कि क्या छूट गया है।
  • URL जहाँ उपयोग होगा उसके अनुसार लंबाई की सीमाएँ चुनें। Browsers और servers अलग-अलग अधिकतम लंबाई संभालते हैं, इसलिए किसी मनमानी संख्या के बजाय URL के गंतव्य के आधार पर maxLength सेट करें, और जब ज़रूरी हो तो सीमा का उल्लेख करें।
  • बताएँ कि URL किस लिए है। उद्देश्य स्पष्ट करने के लिए label और details का उपयोग करें, क्योंकि product image URL, social profile link और किसी बाहरी reference, हर एक के लिए कुछ अलग चाहिए होता है।
vue
<SUrlField label="Product image URL" placeholder="https://example.com/images/product.jpg" details="Link directly to a JPG or PNG file." />

सभी सुझावों के लिए <s-url-field> के लिए Shopify की best practices (अंग्रेज़ी में) देखें।

उदाहरण ​

Value: (empty)

vue
<script setup>
import { ref } from 'vue'
import { SUrlField } from 'polaris-vue-elements'

const value = ref('')
</script>

<template>
  <SUrlField label="Website" placeholder="https://example.com" v-model="value" />
  <p>Value: {{ value }}</p>
</template>

v-model ​

<SUrlField> पर v-model value property से bind होता है और input DOM event को सुनता है।

template
<SUrlField v-model="value" />

इसके बराबर है:

template
<SUrlField :value="value" @input="value = $event.target.value" />

Props ​

PropTypeविवरण
autocomplete"photo" | "url" | "impp" | "home impp" | "mobile impp" | "fax impp" | "pager impp" | "on" … (15 more)field में अपेक्षित content का संकेत। जब इसे on (default) पर सेट किया जाता है, तो यह property बताती है कि field को autofill सपोर्ट करना चाहिए, लेकिन अपेक्षित content के बारे में आपके पास कोई और semantic जानकारी नहीं है। off पर सेट करके आप बताते हैं कि इस field में संवेदनशील जानकारी है, या ऐसा content है जो कभी save नहीं होता, जैसे one-time codes। इसके बजाय, आप ऐसी value भी दे सकते हैं जो बताए कि autofill के दौरान इस field में कौन-सा विशेष डेटा भरा जाना चाहिए।
defaultValuestringfield का डिफ़ॉल्ट मान।
detailsanyfield के लिए संदर्भ या मार्गदर्शन देने वाला अतिरिक्त text। user को अधिक जानकारी या निर्देश देने के लिए यह text field और उसके label के साथ दिखाया जाता है। यह screen reader users को भी उपलब्ध कराया जाएगा।
disabledbooleanfield को disable करता है, जिससे कोई भी interaction संभव नहीं रहता।
erroranyuser को error बताएँ। field को एक विशेष style दिया जाएगा, ताकि ऐसी समस्याएँ बताई जा सकें जिन्हें तुरंत हल करना ज़रूरी है।
idstringelement के लिए एक unique identifier।
labelanyfield label के रूप में उपयोग होने वाला content।
labelAccessibilityVisibility"visible" | "exclusive"component के label की visibility बदलता है। - visible: label सभी users को दिखाई देता है। - exclusive: label दृश्य रूप से छिपा रहता है लेकिन accessibility tree में बना रहता है।
maxLengthnumberअनुमत characters की अधिकतम संख्या बताता है।
minLengthnumberअनुमत characters की न्यूनतम संख्या बताता है।
namestringfield के लिए identifier, जो सबसे नज़दीकी containing form के भीतर unique हो।
placeholderstringएक छोटा संकेत जो field की अपेक्षित value बताता है।
readOnlybooleanउपयोगकर्ता field को edit नहीं कर सकता। यह focus हो सकता है और screen readers द्वारा announce किया जाएगा।
requiredbooleanक्या field के लिए कोई मान ज़रूरी है। यह आवश्यकता field में semantic अर्थ जोड़ती है, लेकिन इससे अपने आप कोई error नहीं दिखेगा। यदि आप चाहते हैं कि यह field खाली होने पर error दिखे, तो आप error property के साथ ऐसा कर सकते हैं।
valuestringfield का वर्तमान मान। छोड़ देने पर field खाली रहेगा।

पढ़ने में आसानी के लिए ऊपर के कुछ type columns छोटे किए गए हैं; पूरा union library के generate किए गए TypeScript types (src/lib/generated/types.ts) में उपलब्ध है।

Events ​

EventType
blurFocusEvent
changeEvent
focusFocusEvent
inputEvent

इन्हें <SUrlField> पर @blur जैसे listeners से सुनें।

Slots ​

Slotविवरण
details
error

MIT License के तहत जारी। Vue logo Evan You द्वारा, CC BY-NC-SA 4.0।