슬라이더

슬라이더 (Slider)

출처: 문서

본문

고정된 범위 안에서 슬라이더를 드래그해서 값을 선택하는 컴포넌트예요.

기본 사용법 (Basic Usage)

슬라이더를 드래그하는 동안 현재 값이 표시돼요. 바인딩 값을 설정하면 슬라이더의 초기 값을 원하는 대로 바꿀 수 있어요.

  • 커스텀한 초기 값 (Customized initial value)
  • 툴팁 숨기기 (Hide Tooltip)
  • 툴팁 형식 지정 (Format Tooltip)
  • 비활성화 (Disabled)
.slider-demo-block {
  max-width: 600px;
  display: flex;
  align-items: center;
}
.slider-demo-block .el-slider {
  margin-top: 0;
  margin-left: 12px;
}
.slider-demo-block .demonstration {
  font-size: 14px;
  color: var(--el-text-color-secondary);
  line-height: 44px;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 0;
}
.slider-demo-block .demonstration + .el-slider {
  flex: 0 0 70%;
}

이산 값 (Discrete Values)

선택할 수 있는 값들을 이산적으로 나눌 수 있어요. step 속성으로 스텝 크기를 정하고, show-stops 속성을 설정하면 중간 지점을 표시해줘요.

.slider-demo-block {
  max-width: 600px;
  display: flex;
  align-items: center;
}
.slider-demo-block .el-slider {
  margin-top: 0;
  margin-left: 12px;
}
.slider-demo-block .demonstration {
  font-size: 14px;
  color: var(--el-text-color-secondary);
  line-height: 44px;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 0;
}
.slider-demo-block .demonstration + .el-slider {
  flex: 0 0 70%;
}

입력 상자가 있는 슬라이더 (Slider with Input Box)

입력 상자를 통해 값을 설정할 수 있어요. show-input 속성을 설정하면 오른쪽에 입력 상자가 표시돼요.

.slider-demo-block {
  max-width: 600px;
  display: flex;
  align-items: center;
}
.slider-demo-block .el-slider {
  margin-top: 0;
  margin-left: 12px;
}

크기 (Sizes)

.slider-demo-block {
  max-width: 600px;
}

.el-slider {
  margin-top: 20px;
}

.el-slider:first-child {
  margin-top: 0;
}

배치 (Placement)

툴팁의 위치를 직접 지정할 수 있어요.

.slider-demo-block {
  max-width: 600px;
  display: flex;
  align-items: center;
}
.slider-demo-block .el-slider {
  margin-top: 0;
  margin-left: 12px;
}

범위 선택 (Range Selection)

값의 범위를 선택하는 것도 지원해요. range 속성을 설정하면 범위 모드가 활성화되고, 바인딩 값은 두 경계 값으로 구성된 배열이 돼요.

.slider-demo-block {
  max-width: 600px;
  display: flex;
  align-items: center;
}
.slider-demo-block .el-slider {
  margin-top: 0;
  margin-left: 12px;
}

세로 모드 (Vertical Mode)

vertical 속성을 true로 설정하면 세로 모드가 돼요. 세로 모드에서는 height 속성이 필수예요.

.slider-demo-block {
  max-width: 600px;
  display: flex;
  align-items: center;
}
.slider-demo-block .el-slider {
  margin-top: 0;
  margin-left: 12px;
}

마크 표시 (Show Marks)

marks 속성을 설정하면 슬라이더 위에 마크를 표시할 수 있어요.

.slider-demo-block {
  max-width: 600px;
  display: flex;
  align-items: center;
}
.slider-demo-block .el-slider {
  margin-top: 0;
  margin-left: 12px;
}

값 제한 (Restrict Value)

step="mark"로 설정하면 슬라이더 값을 마크로 제한할 수 있어요.

.slider-demo-block {
  max-width: 600px;
  display: flex;
  align-items: center;
}
.slider-demo-block .el-slider {
  margin-top: 0;
  margin-left: 12px;
}
.slider-demo-block + .slider-demo-block {
  margin-top: 20px;
}

API

속성 (Attributes)

Name Description Type Default
model-value / v-model 바인딩 값 number / array 0
min 최소값 number 0
max 최대값 number 100
disabled Slider 비활성화 여부 boolean false
step 스텝 크기. 숫자 또는 'mark'(2.13.6)로 설정해 값을 마크로 제한할 수 있어요. 'mark'로 설정하면 marks 속성이 반드시 필요해요 number / string 1
show-input 입력 상자 표시 여부. range가 false이고 step이 'mark'가 아닐 때 동작해요 boolean false
show-input-controls show-input이 true일 때 컨트롤 버튼 표시 여부 boolean true
size 슬라이더 래퍼의 크기. 세로 모드에서는 동작하지 않아요 enum default
input-size 입력 상자의 크기. size를 설정하면 기본값은 size의 값이 돼요 enum default
show-stops 중간 지점 표시 여부 boolean false
show-tooltip 툴팁 값 표시 여부 boolean true
format-tooltip 툴팁 값의 표시 형식 Function —
range 범위 선택 여부 boolean false
vertical 세로 모드 boolean false
height 슬라이더 높이. 세로 모드에서 필수예요 string —
aria-label a11y 2.7.2 네이티브 aria-label 속성 string —
range-start-label range가 true일 때 범위 시작을 위한 스크린 리더 라벨 string —
range-end-label range가 true일 때 범위 끝을 위한 스크린 리더 라벨 string —
format-value-text 스크린 리더를 위한 aria-valuenow 속성의 표시 형식 Function —
tooltip-class 툴팁의 커스텀 클래스 이름 string —
placement Tooltip의 위치 enum top
marks 마크. 키 타입은 number여야 하고 닫힌 구간 [min, max] 안에 있어야 해요. 각 마크에 스타일을 지정할 수 있어요 object —
validate-event 폼 검증 트리거 여부 boolean true
persistent 2.9.5 슬라이더 툴팁이 비활성 상태이고 persistent가 false면 툴팁이 파괴돼요. show-tooltip이 false면 persistent는 항상 false예요 boolean true
label a11y deprecated 네이티브 aria-label 속성 string —

이벤트 (Events)

Name Description Type
change 값이 변경될 때 트리거돼요. (마우스로 드래그 중이면 마우스를 놓을 때만 발생해요) Function
input 데이터가 변경될 때 트리거돼요. (슬라이딩 중에 실시간으로 발생해요) Function

타입 선언 (Type Declarations)

type SliderMarks = Record
type Arrayable = T | T[]

더 알아보기 (Learn more)