پرش به مطلب اصلی

Email Input

کامپوننت x-email-input یک ورودی ایمیل پیشرفته برای فرم‌ها است که امکانات متنوعی مانند پیشنهاد ایمیل، پیشوند و پسوند، کنترل طول، حالت فقط‌خواندنی، تنظیم راست/چپ‌چین بودن، پیام راهنما، پیام خطا و ... را ارائه می‌دهد.


ویژگی‌ها

  • پشتیبانی از پیشنهاد ایمیل (suggestion)
  • امکان تعیین پیشوند (prefix) و پسوند (suffix)
  • کنترل حداقل و حداکثر طول (minLength, maxLength)
  • پشتیبانی از حالت فقط‌خواندنی (readonly)
  • قابلیت تنظیم راست‌چین یا چپ‌چین بودن (textAlign)
  • پشتیبانی از autofocus
  • نمایش پیام راهنما هنگام غیرفعال بودن (disabledTooltip)
  • نمایش پیام خطا و پیام‌های سفارشی با استایل‌های مختلف
  • امکان شخصی‌سازی کلاس‌های CSS برای خود و کانتینر
  • پشتیبانی از پیام راهنما (hint)
  • پشتیبانی از لیبل و فضای رزرو لیبل

ورودی‌های کامپوننت

نام پراپنوع دادهمقدار پیش‌فرضتوضیحات
namestringنام فیلد (اجباری)
labelstringnullلیبل اصلی
labelSpaceReservedboolfalseآیا فضای لیبل حتی بدون مقدار رزرو شود؟
idstringnullشناسه یکتا برای ورودی
valuestringnullمقدار اولیه
placeholderstringnullplaceholder برای ورودی
suggestionarray[]آرایه‌ای از پیشنهادهای ایمیل
prefixstringnullپیشوند
suffixstringnullپسوند
minLengthintnullحداقل طول مجاز
maxLengthintnullحداکثر طول مجاز
requiredboolfalseاجباری بودن فیلد
disabledboolfalseغیرفعال بودن ورودی
readonlyboolfalseفقط‌خواندنی بودن ورودی
messageStylestring/enum"message"استایل نمایش پیام (message, tooltip, ...)
defaultMessageTypestring/enum"info"نوع پیام پیش‌فرض (info, error, success, ...)
defaultMessagestringnullپیام پیش‌فرض برای نمایش
textAlignstring"left"جهت متن ورودی (left یا right)
hintstringnullپیام راهنما یا توضیح کوتاه
classstringnullکلاس CSS سفارشی برای خود ورودی
containerClassstringnullکلاس CSS سفارشی برای کانتینر
autoFocusboolfalseفوکوس خودکار روی ورودی
disabledTooltipstringnullپیام راهنما هنگام غیرفعال بودن ورودی

مثال‌ها

نمونه پایه

<x-email-input
label="پست الکترونیکی"
name="email"
id="email"
value="info@gmail.com"
placeholder="لطفا ایمیل خود را وارد کنید"
:suggestion="['ali@a.com', 'nima@b.com', 'reza@c.com']"
prefix="@"
suffix=".com"
minLength="4"
maxLength="20"
trim
messageStyle="message"
defaultMessageType="info"
defaultMessage="لطفا ایمیل خود را به درستی وارد کنید"
hint="پست الکترونیکی"
class="custom-email-class"
containerClass="custom-container-class"
>
<x-slot:label-suffix-slot>
<a href="#">استعلام</a>
</x-slot:label-suffix-slot>
</x-email-input>