Skip to content

สไลเดอร์

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

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

ค่าของสไลเดอร์: 0

vue
<template>
  <spr-slider :min="0" :max="100" :step="1" v-model="sliderValue" />
  <p class="spr-m-0">ค่าของสไลเดอร์: {{ sliderValue }}</p>
</template>

<script setup>
import { ref } from 'vue';
const sliderValue = ref(0);
</script>

ขั้นตอน

สไลเดอร์สามารถกำหนดค่า step เพื่อควบคุมการเพิ่มขึ้นของค่าได้ ในตัวอย่างด้านล่าง step ถูกตั้งค่าเป็น 20 ซึ่งหมายความว่าสไลเดอร์จะเลื่อนไปทีละ 20 หน่วย (0, 20, 40, 60, 80, 100)

ค่าของสไลเดอร์: 0

vue
<template>
  <spr-slider :min="0" :max="100" :step="20" v-model="sliderValueStep" />
  <p class="spr-m-0">ค่าของสไลเดอร์: {{ sliderValueStep }}</p>
</template>

<script setup>
import { ref } from 'vue';
const sliderValueStep = ref(0);
</script>

ขนาด

คอมโพเนนต์ Slider มี 2 ขนาด คุณสามารถใช้ prop size เพื่อกำหนดขนาดของสไลเดอร์ ขนาดเริ่มต้นคือ 'lg' ขนาดที่มีให้เลือกคือ 'lg' และ 'sm'

vue
<template>
  <spr-slider :min="0" :max="100" :step="1" v-model="sliderValueForLG" size="lg" />
  <spr-slider :min="0" :max="100" :step="1" v-model="sliderValueForSM" size="sm" />
</template>

<script setup>
import { ref } from 'vue';
const sliderValue = ref(0);
const sliderValueForLG = ref(0);
const sliderValueForSM = ref(0);
</script>

ปิดใช้งาน

vue
<template>
  <spr-slider :min="0" :max="100" :step="1" v-model="sliderValueDisabled" :disabled="true" />
</template>

<script setup>
import { ref } from 'vue';
const sliderValueDisabled = ref(50);
</script>

การอ้างอิง API

Props

ชื่อคำอธิบายประเภทค่าเริ่มต้น
modelValue / v-modelค่าปัจจุบันของสไลเดอร์ Prop นี้ใช้กับ v-model สำหรับการผูกข้อมูลสองทาง ช่วยให้ค่าของสไลเดอร์สามารถอ่านและอัปเดตได้โดยคอมโพเนนต์ parentnumber0
sizeควบคุมขนาดของคอมโพเนนต์สไลเดอร์ ตัวเลือก 'lg' ให้สไลเดอร์ขนาดใหญ่ที่เหมาะสมสำหรับการควบคุมหลัก ในขณะที่ 'sm' ให้เวอร์ชันที่กะทัดรัดสำหรับอินเทอร์เฟซที่มีพื้นที่จำกัด'lg' | 'sm''lg'
minค่าต่ำสุดที่สไลเดอร์สามารถตั้งค่าได้ ซึ่งกำหนดขอบเขตล่างของช่วงสไลเดอร์และสอดคล้องกับตำแหน่งซ้ายสุดของสไลเดอร์number0
maxค่าสูงสุดที่สไลเดอร์สามารถตั้งค่าได้ ซึ่งกำหนดขอบเขตบนของช่วงสไลเดอร์และสอดคล้องกับตำแหน่งขวาสุดของสไลเดอร์number100
stepการเพิ่มขึ้นระหว่างค่าบนสไลเดอร์ ซึ่งกำหนดความละเอียดของการเคลื่อนไหวของสไลเดอร์ ตัวอย่างเช่น step เท่ากับ 5 จะอนุญาตเฉพาะค่าเช่น 0, 5, 10 เป็นต้นnumber1
disabledเมื่อตั้งค่าเป็น true สไลเดอร์จะไม่สามารถโต้ตอบได้ โดยแสดงภาพด้วยความโปร่งใสที่ลดลงและเคอร์เซอร์ "not-allowed"booleanfalse

Events

ชื่อคำอธิบายพารามิเตอร์
update:modelValueปล่อยออกมาเมื่อค่าของสไลเดอร์เปลี่ยนแปลงขณะที่ผู้ใช้ลากจุดจับ อีเวนต์นี้ใช้โดย v-model สำหรับการผูกข้อมูลสองทาง และจะทำงานอย่างต่อเนื่องระหว่างกระบวนการลาก(value: number): ค่าปัจจุบันของสไลเดอร์
slideendปล่อยออกมาเมื่อผู้ใช้เสร็จสิ้นการโต้ตอบการเลื่อน (ปล่อยตัวชี้) ซึ่งมีประโยชน์สำหรับการเรียกใช้การดำเนินการที่ควรเกิดขึ้นเพียงครั้งเดียวเมื่อผู้ใช้เสร็จสิ้นการปรับค่า แทนที่จะเป็นระหว่างกระบวนการลาก(value: number): ค่าสุดท้ายของสไลเดอร์หลังจากการโต้ตอบเสร็จสิ้น