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

Tag Input

کامپوننت x-tag-input یک ورودی پیشرفته برای جمع‌آوری و مدیریت تگ‌ها (برچسب‌ها) در فرم‌ها است. این کامپوننت امکان افزودن، حذف و مرتب‌سازی تگ‌ها را با امکانات متنوعی مانند تعیین جداکننده، تعیین حداقل و حداکثر تعداد تگ، فعال‌سازی autocomplete، تعیین پیشوند و پسوند، پیام راهنما، پیام خطا و ... فراهم می‌کند.


ویژگی‌ها

  • افزودن و حذف تگ‌ها به صورت داینامیک
  • مرتب‌سازی (drag & drop) تگ‌ها (در صورت فعال بودن)
  • تعیین حداقل (min) و حداکثر (max) تعداد تگ
  • تعیین حداکثر طول کل مقدار (maxLength)
  • تعیین جداکننده تگ‌ها (separator)
  • افزودن تگ با کلید Space علاوه بر Enter (addOnSpace)
  • تعیین حداکثر عرض هر تگ (itemMaxWidth)
  • فعال‌سازی autocomplete برای ورودی (autoComplete)
  • تعیین پیشوند و پسوند برای ورودی (prefix, suffix)
  • پشتیبانی از پیام راهنما (hint)
  • نمایش پیام خطا و پیام‌های سفارشی با استایل‌های مختلف
  • امکان شخصی‌سازی کلاس‌های CSS برای خود و کانتینر
  • پشتیبانی از لیبل و فضای رزرو لیبل
  • نمایش پیام راهنما هنگام غیرفعال بودن (disabledTooltip)
  • پشتیبانی از مقدار اولیه (value)
  • کنترل فعال/غیرفعال بودن ورودی (disabled)
  • پشتیبانی از حالت فقط‌خواندنی (readonly)

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

نام پراپنوع دادهمقدار پیش‌فرضتوضیحات
namestringنام فیلد (اجباری)
labelstringnullلیبل اصلی
labelSpaceReservedboolfalseآیا فضای لیبل حتی بدون مقدار رزرو شود؟
idstringnullشناسه یکتا برای ورودی
placeholderstringnullplaceholder برای ورودی
classstringnullکلاس CSS سفارشی برای خود ورودی
containerClassstringnullکلاس CSS سفارشی برای کانتینر
valuestringnullمقدار اولیه (تگ‌ها به صورت جداشده با جداکننده)
requiredboolfalseاجباری بودن فیلد
readonlyboolfalseفقط‌خواندنی بودن ورودی
disabledboolfalseغیرفعال بودن ورودی
defaultMessagestringnullپیام پیش‌فرض برای نمایش
messageStylestring/enum"message"استایل نمایش پیام (message, tooltip, ...)
defaultMessageTypestring/enum"info"نوع پیام پیش‌فرض (info, error, warning, ...)
hintstringnullپیام راهنما یا توضیح کوتاه
suppressLogicMessagesboolfalseعدم نمایش پیام‌های منطقی
autoCompleteboolfalseفعال‌سازی autocomplete برای ورودی
separatorstring,جداکننده تگ‌ها
draggablebooltrueامکان مرتب‌سازی (drag & drop) تگ‌ها
addOnSpaceboolfalseافزودن تگ با فشردن Space (مانند Enter)
minintnullحداقل تعداد تگ مجاز
maxintnullحداکثر تعداد تگ مجاز
maxLengthintnullحداکثر طول کل مقدار (مجموع تگ‌ها همراه جداکننده‌ها)
itemMaxWidthintnullحداکثر عرض هر تگ (بر حسب پیکسل)
prefixstringnullپیشوند برای ورودی
suffixstringnullپسوند برای ورودی
disabledTooltipstringnullپیام راهنما هنگام غیرفعال بودن ورودی

مثال‌ها

نمونه پایه

<x-tag-input
name="tag-test"
label="تست"
defaultMessage="لطفا تگ‌های مورد نظر را وارد نمایید."
hint="شما باید حداقل یک تگ را وارد کنید."
placeholder="تگ‌های مورد نظر را وارد کنید"
containerClass="col-lg-6"
value="test,0,false"
separator="_"
/>

افزودن تگ با کلید Space

با فعال‌کردن addOnSpace، فشردن کلید Space هنگام تایپ نیز مانند Enter یک تگ جدید به لیست اضافه می‌کند (علاوه بر جداکننده و Enter).

<x-tag-input
name="keywords"
label="کلمات کلیدی"
placeholder="هر کلمه را تایپ کنید و Space بزنید"
:add-on-space="true"
/>