Skip to content

เรดิโอ

ปุ่มเรดิโอเป็นคอมโพเนนต์ที่ช่วยให้ผู้ใช้เลือกตัวเลือกเดียวจากชุดของทางเลือก

การใช้งานพื้นฐาน

vue
<template>
  <div class="spr-flex spr-flex-col spr-items-start spr-gap-2">
    <spr-radio id="radio1" v-model="radioModel" name="radio_name" value="value1">ป้ายกำกับเรดิโอ 1</spr-radio>
    <spr-radio id="radio2" v-model="radioModel" name="radio_name" value="value2">ป้ายกำกับเรดิโอ 2</spr-radio>
  </div>
</template>

<script lang="ts" setup>
import { ref } from 'vue';

const radioModel = ref('');
</script>

ทำงานอยู่

vue
<template>
  <spr-radio id="radio1" v-model="radioModel" name="radio_name" value="value1">ป้ายกำกับเรดิโอ 1</spr-radio>
  <spr-radio id="radio2" v-model="radioModel" name="radio_name" value="value2">ป้ายกำกับเรดิโอ 2</spr-radio>
</template>

<script lang="ts" setup>
import { ref } from 'vue';

const radioModel = ref('value2');
</script>

ปิดใช้งาน

เพิ่มแอตทริบิวต์ disabled ให้กับคอมโพเนนต์ <spr-radio> เพื่อปิดใช้งานปุ่มเรดิโอ

vue
<template>
  <div class="spr-flex spr-flex-col spr-items-start spr-gap-2">
    <spr-radio id="disabledradio1" v-model="radioModel" name="radio_name" value="value1">ป้ายกำกับเรดิโอ 1</spr-radio>
    <spr-radio id="disabledradio2" v-model="radioModel" name="radio_name" value="value2" disabled>
      ป้ายกำกับเรดิโอ 2
    </spr-radio>
  </div>
</template>

<script lang="ts" setup>
import { ref } from 'vue';

const radioModel = ref('');
</script>

กล่องเลือก

ใช้พร็อพส์ choiceBox เพื่อแสดงปุ่มเรดิโอในสไตล์กล่องเลือกที่มีพื้นที่คลิกขยายขึ้น ทำให้องค์ประกอบทั้งหมดสามารถคลิกได้ ซึ่งช่วยปรับปรุงการใช้งานและประสบการณ์ผู้ใช้

vue
<template>
  <div class="spr-flex spr-flex-col spr-items-start spr-gap-2">
    <spr-radio id="choicebox1" v-model="selectedOption" name="radio_choicebox" value="option1" choice-box full-width>
      <div class="spr-body-sm-regular spr-text-color-strong">ตัวเลือก 1</div>
      <div class="spr-body-sm-regular spr-text-color-base">เลือกตัวเลือกนี้สำหรับฟีเจอร์ A</div>
    </spr-radio>
    <spr-radio id="choicebox2" v-model="selectedOption" name="radio_choicebox" value="option2" choice-box full-width>
      <div class="spr-body-sm-regular spr-text-color-strong">ตัวเลือก 2</div>
      <div class="spr-body-sm-regular spr-text-color-base">เลือกตัวเลือกนี้สำหรับฟีเจอร์ B</div>
    </spr-radio>
    <spr-radio id="choicebox3" v-model="selectedOption" name="radio_choicebox" value="option3" choice-box full-width>
      <div class="spr-body-sm-regular spr-text-color-strong">ตัวเลือก 3</div>
      <div class="spr-body-sm-regular spr-text-color-base">เลือกตัวเลือกนี้สำหรับฟีเจอร์ C</div>
    </spr-radio>
  </div>
</template>

<script lang="ts" setup>
import { ref } from 'vue';

const selectedOption = ref('option1');
</script>

การอ้างอิง API

พร็อพส์

ชื่อคำอธิบายประเภทค่าเริ่มต้น
idตัวระบุที่ไม่ซ้ำสำหรับองค์ประกอบอินพุตเรดิโอ จำเป็นสำหรับการเข้าถึงและการเชื่อมโยงป้ายกำกับstringจำเป็น
modelValueค่าที่เลือกปัจจุบันใช้กับ v-model สำหรับการผูกสองทาง เมื่อตรงกับพร็อพเพอร์ตี้ value ของเรดิโอ จะเลือกเรดิโอstring | number | booleanundefined
nameแอตทริบิวต์ชื่อสำหรับองค์ประกอบอินพุตเรดิโอ ปุ่มเรดิโอในกลุ่มเดียวกันควรใช้ชื่อเดียวกันเพื่อให้แน่ใจว่าเลือกได้เพียงอันเดียวในแต่ละครั้งstringจำเป็น
valueค่าที่เกี่ยวข้องกับปุ่มเรดิโอนี้ เมื่อเลือกเรดิโอ จะกำหนดค่านี้ให้กับ modelValuestring | number | booleanจำเป็น
disabledเมื่อตั้งค่าเป็น true ปุ่มเรดิโอจะไม่สามารถโต้ตอบได้และปรากฏเป็นการปิดใช้งาน ผู้ใช้ไม่สามารถเลือกปุ่มเรดิโอที่ปิดใช้งานได้booleanfalse
descriptionข้อความอธิบายเพิ่มเติมที่แสดงใต้ป้ายกำกับเรดิโอเพื่อให้บริบทหรือรายละเอียดเพิ่มเติมเกี่ยวกับตัวเลือกนี้stringundefined
borderedเมื่อตั้งค่าเป็น true จะเพิ่มเส้นขอบรอบคอมโพเนนต์เรดิโอทั้งหมด (รวมถึงป้ายกำกับ) ให้การแยกภาพจากองค์ประกอบรอบข้างbooleanfalse
fullWidthเมื่อตั้งค่าเป็น true คอมโพเนนต์เรดิโอจะยืดเพื่อเติมเต็มความกว้างเต็มของคอนเทนเนอร์ เมื่อ false จะกว้างเพียงเท่ากับเนื้อหาbooleanfalse
choiceBoxเมื่อตั้งค่าเป็น true จะแปลงปุ่มเรดิโอให้เป็นสไตล์กล่องเลือกที่มีพื้นที่คลิกขยายขึ้น ซึ่งครอบคลุมคอมโพเนนต์ทั้งหมด ทำให้ง่ายต่อการเลือกโดยคลิกในที่ใดก็ได้บนกล่องbooleanfalse

อีเวนต์

ชื่อคำอธิบายพารามิเตอร์
update:modelValueปล่อยออกมาเมื่อเลือกปุ่มเรดิโอ อีเวนต์นี้ใช้สำหรับการผูก v-model ให้ทำงานได้อย่างถูกต้อง(value: string | number | boolean) - ค่าของปุ่มเรดิโอที่เลือก

สล็อต

ชื่อคำอธิบาย
defaultเนื้อหาที่จะแสดงเป็นป้ายกำกับของปุ่มเรดิโอ โดยทั่วไปจะมีข้อความแต่สามารถรวมองค์ประกอบอื่นสำหรับป้ายกำกับที่ซับซ้อนมากขึ้น

แอนิเมชัน

แอนิเมชันคำอธิบาย
animate-shadow-growใช้เมื่อเลือกปุ่มเรดิโอ สร้างการเปลี่ยนผ่านที่ราบรื่นจากวงกลมว่างไปเป็นวงกลมที่เต็มพร้อมศูนย์กลางสีขาว

การใช้ผลิตภัณฑ์

Sprout HR