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

Checkbox Group

کامپوننت x-checkbox-group برای نمایش و مدیریت گروهی از چک‌باکس‌ها در فرم‌ها با امکانات پیشرفته و قابل شخصی‌سازی استفاده می‌شود. این کامپوننت امکان نمایش لیبل، حالت فقط‌خواندنی، غیرفعال، پیام راهنما، پیام خطا، کنترل ظاهر و رفتار، و مدیریت گزینه‌های مختلف را فراهم می‌کند.


ویژگی‌ها

  • پشتیبانی از لیبل اصلی برای گروه چک‌باکس‌ها
  • امکان تعیین گزینه‌ها (options) به صورت آرایه‌ای از مقدار و لیبل
  • قابلیت تعیین مقدارهای انتخاب‌شده اولیه (checked)
  • پشتیبانی از حالت فقط‌خواندنی (readonly) و غیرفعال (disabled)
  • نمایش پیام راهنما (tooltip) و پیام غیرفعال بودن (disabledTooltip)
  • امکان تعیین جهت نمایش (افقی یا عمودی) با پراپ orientation
  • نمایش پیام خطا و پیام‌های سفارشی با استایل‌های مختلف
  • امکان شخصی‌سازی کلاس‌های CSS برای خود گروه و کانتینر
  • پشتیبانی از پیام راهنما برای هر گزینه به صورت جداگانه
  • پشتیبانی از گزینه‌های غیرفعال یا فقط‌خواندنی به صورت جداگانه

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

نام پراپنوع دادهمقدار پیش‌فرضتوضیحات
namestringنام فیلد (اجباری)
optionsarrayآرایه‌ای از گزینه‌ها. هر گزینه باید شامل value و label باشد.
labelstringnullلیبل اصلی گروه چک‌باکس‌ها
labelSpaceReservedboolfalseآیا فضای لیبل حتی بدون مقدار رزرو شود؟
idstringnullشناسه یکتا برای گروه چک‌باکس
checkedarray[]آرایه‌ای از مقدارهای انتخاب‌شده اولیه
classstringnullکلاس CSS سفارشی برای چک‌باکس‌ها
containerClassstringnullکلاس CSS سفارشی برای کانتینر
readonlyboolfalseفقط‌خواندنی بودن کل گروه
disabledboolfalseغیرفعال بودن کل گروه
requiredboolfalseاجباری بودن فیلد
hintstringnullپیام راهنما یا توضیح کوتاه
messageStylestring/enum"message"استایل نمایش پیام (message, tooltip, ...)
defaultMessageTypestring/enum"info"نوع پیام پیش‌فرض (info, error, success, ...)
defaultMessagestringnullپیام پیش‌فرض برای نمایش
suppressLogicMessagesboolfalseعدم نمایش پیام‌های منطقی
tooltipstringnullپیام راهنما هنگام هاور روی گروه
disabledTooltipstringnullپیام راهنما هنگام غیرفعال بودن گروه
orientationstring"vertical"جهت نمایش: vertical (ستونی) یا horizontal (سطری)
gapstringnullفاصله بین گزینه‌های چک‌باکس‌ها
optionClassstringnullکلاس CSS سفارشی برای هر گزینه
labelClassstringnullکلاس CSS سفارشی برای لیبل اصلی گروه

ساختار هر گزینه در options:

کلیدنوع دادهتوضیحات
valuestringمقدار گزینه (اجباری)
labelstringمتن نمایشی گزینه (اجباری)
tooltipstringپیام راهنما هنگام هاور روی گزینه (اختیاری)
disabledboolغیرفعال بودن گزینه (اختیاری)
readonlyboolفقط‌خواندنی بودن گزینه (اختیاری)

مثال‌ها

نمونه پایه

$options = [
[
'label' => 'گزینه اول',
'value' => 'xs',
'tooltip' => 'XS',
],
[
'label' => 'گزینه دوم',
'value' => 's',
'tooltip' => 'غیرفعال',
'disabled' => 'true',
],
[
'label' => 'گزینه سوم',
'value' => 'lg',
'tooltip' => 'شما دسترسی تغییر ندارید',
'readonly' => 'true',
],
[
'label' => 'گزینه چهارم',
'value' => 'xxl',
'tooltip' => 'XXL',
],
];
<x-checkbox-group
name="sizes"
id="size"
tooltip="test main tooltip"
:options="$options"
label="انتخاب اندازه"
class="custom-checkbox"
containerClass="my-custom-container"
defaultMessage="لطفا حداقل یک اندازه را انتخاب کنید."
defaultMessageType="warning"
messageStyle="info"
hint="شما باید یک گزینه را انتخاب کنید."
/>