SMoneyField <s-money-field>
पैसों की राशि के लिए एक numeric input। SMoneyField Shopify के Polaris <s-money-field> web component का typed Vue 3 wrapper है।
ts
import { SMoneyField } from 'polaris-vue-elements'Best practices
minऔरmaxको वास्तविक सीमाओं पर सेट करें। उदाहरण के लिए, product price के लिएmin0.01 रखा जा सकता है ताकि वह शून्य न हो, discount 0 से order total तक हो सकता है, और refund को चुकाई गई राशि तक सीमित किया जा सकता है। Values को हमेशा अपने business rules के हिसाब से भी जाँचें।errorमें सटीक सीमा बताएँ। "Invalid amount" के बजाय "Price must be at least $0.01" जैसा कुछ कहें, ताकि merchants जानें कि उन्होंने कौन-सी शर्त तोड़ी है।- Currency symbols को
labelऔरplaceholderसे बाहर रखें। "$" या ऐसा कुछ जोड़ना उस currency formatting से टकरा सकता है जिसे field पहले से संभालता है। - राशि को उसके मकसद के अनुसार label करें। "Product base price" या "Discount amount" merchants को "Amount" या "Price" से ज़्यादा बताते हैं।
- Edit करते समय
valueपहले से भरें। मौजूदा values के लिए वर्तमान राशि दिखाएँ; नई entries के लिए 0.00 या कोई सामान्य price जैसा समझदारी भरा default रखें।
vue
<SMoneyField label="Product base price" :min="0.01" />सभी सुझावों के लिए <s-money-field> के लिए Shopify की best practices (अंग्रेज़ी में) देखें।
उदाहरण
Value: (empty)
vue
<script setup>
import { ref } from 'vue'
import { SMoneyField } from 'polaris-vue-elements'
const value = ref('')
</script>
<template>
<SMoneyField label="Price" currencyCode="USD" placeholder="0.00" v-model="value" />
<p>Value: {{ value }}</p>
</template>v-model
<SMoneyField> पर v-model value property से bind होता है और input DOM event को सुनता है।
template
<SMoneyField v-model="value" />इसके बराबर है:
template
<SMoneyField :value="value" @input="value = $event.target.value" />Props
| Prop | Type | विवरण |
|---|---|---|
autocomplete | string | field में अपेक्षित content का संकेत। जब इसे on (default) पर सेट किया जाता है, तो यह property बताती है कि field को autofill सपोर्ट करना चाहिए, लेकिन अपेक्षित content के बारे में आपके पास कोई और semantic जानकारी नहीं है। off पर सेट करके आप बताते हैं कि इस field में संवेदनशील जानकारी है, या ऐसा content है जो कभी save नहीं होता, जैसे one-time codes। इसके बजाय, आप ऐसी value भी दे सकते हैं जो बताए कि autofill के दौरान इस field में कौन-सा विशेष डेटा भरा जाना चाहिए। |
currencyCode | "auto" | "USD" | "EUR" | "GBP" | "CAD" | "AFN" | "ALL" | "DZD" … (154 more) | field का currency code। 'auto' पर सेट करने पर field shop का currency code दिखाएगा। यदि shop के लिए कोई currency code सेट नहीं है, तो यह 'XXX' पर resolve होता है, जो स्पष्ट रूप से 'कोई मान नहीं' दर्शाता है। यह मान shop के global currency code से मेल खाएगा, इसलिए यदि आपको field का currency code जानना है, तो आप वह मान उन्हीं APIs से पढ़ सकते हैं। |
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 में बना रहता है। |
max | number | field के लिए स्वीकार किया जाने वाला सबसे बड़ा decimal या integer। step के साथ उपयोग करने पर मान max संख्या तक round down होगा। ध्यान दें: उपयोगकर्ता फिर भी keyboard से max से बड़ी संख्या दर्ज कर सकेगा। उपयुक्त validation जोड़ना developer की ज़िम्मेदारी है। |
min | number | field के लिए स्वीकार किया जाने वाला सबसे छोटा decimal या integer। step के साथ उपयोग करने पर मान min संख्या तक round up होगा। ध्यान दें: उपयोगकर्ता फिर भी keyboard से min से छोटी संख्या दर्ज कर सकेगा। उपयुक्त validation जोड़ना developer की ज़िम्मेदारी है। |
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 |
पढ़ने में आसानी के लिए ऊपर के कुछ type columns छोटे किए गए हैं; पूरा union library के generate किए गए TypeScript types (
src/lib/generated/types.ts) में उपलब्ध है।
Events
| Event | Type |
|---|---|
blur | FocusEvent |
change | Event |
focus | FocusEvent |
input | Event |
इन्हें <SMoneyField> पर @blur जैसे listeners से सुनें।
Slots
| Slot | विवरण |
|---|---|
details | |
error |