Element-React Slider 滑塊

2020-10-16 10:36 更新

通過拖動(dòng)滑塊在一個(gè)固定區(qū)間內(nèi)進(jìn)行選擇

基礎(chǔ)用法

在拖動(dòng)滑塊時(shí),顯示當(dāng)前值

通過設(shè)置綁定值自定義滑塊的初始值

  1. constructor(props) {
  2. super(props);
  3. this.state = {
  4. value1: 0,
  5. value2: 50,
  6. value3: 36,
  7. value4: 48,
  8. value5: 42
  9. }
  10. }
  11. formatTooltip(val) {
  12. return val / 100;
  13. }
  14. render() {
  15. return (
  16. <div>
  17. <div className="block">
  18. <span className="demonstration">默認(rèn)</span>
  19. <Slider value={this.state.value1} />
  20. </div>
  21. <div className="block">
  22. <span className="demonstration">自定義初始值</span>
  23. <Slider value={this.state.value2} />
  24. </div>
  25. <div className="block">
  26. <span className="demonstration">隱藏 Tooltip</span>
  27. <Slider value={this.state.value3} showTooltip={false} />
  28. </div>
  29. <div className="block">
  30. <span className="demonstration">格式化 Tooltip</span>
  31. <Slider value={this.state.value4} formatTooltip={this.formatTooltip.bind(this)} />
  32. </div>
  33. <div className="block">
  34. <span className="demonstration">禁用</span>
  35. <Slider value={this.state.value3} disabled={true} />
  36. </div>
  37. </div>
  38. )
  39. }

離散值

選項(xiàng)可以是離散的

改變step的值可以改變步長(zhǎng),通過設(shè)置showStep屬性可以顯示間斷點(diǎn)

  1. constructor(props) {
  2. super(props);
  3. this.state = {
  4. value4: 0,
  5. value5: 0
  6. }
  7. }
  8. render() {
  9. return (
  10. <div>
  11. <div className="block">
  12. <span className="demonstration">不顯示間斷點(diǎn)</span>
  13. <Slider value={this.state.value4} step="10" />
  14. </div>
  15. <div className="block">
  16. <span className="demonstration">顯示間斷點(diǎn)</span>
  17. <Slider value={this.state.value5} step="10" showStops={true} />
  18. </div>
  19. </div>
  20. )
  21. }

帶有輸入框

通過輸入框設(shè)置精確數(shù)值

設(shè)置showInput屬性會(huì)在右側(cè)顯示一個(gè)輸入框

  1. constructor(props) {
  2. super(props);
  3. this.state = {
  4. value: 0
  5. }
  6. }
  7. render() {
  8. return (
  9. <div className="block">
  10. <Slider value={this.state.value} showInput={true} />
  11. </div>
  12. )
  13. }

范圍選擇

支持選擇某一數(shù)值范圍

設(shè)置range即可開啟范圍選擇,此時(shí)綁定值是一個(gè)數(shù)組,其元素分別為最小邊界值和最大邊界值

  1. constructor(props) {
  2. super(props);
  3. this.state = {
  4. value: [4, 8]
  5. }
  6. }
  7. render() {
  8. return (
  9. <div className="block">
  10. <Slider value={this.state.value} max={10} range={true} showStops={true} />
  11. </div>
  12. )
  13. }

豎向模式

設(shè)置vertical可使 Slider 變成豎向模式,此時(shí)必須設(shè)置高度height屬性

  1. constructor(props) {
  2. super(props);
  3. this.state = {
  4. value: 0
  5. }
  6. }
  7. render() {
  8. return (
  9. <div className="block">
  10. <Slider value={this.state.value} vertical={true} height="200px" />
  11. </div>
  12. )
  13. }

Attributes

參數(shù) 說明 類型 可選值 默認(rèn)值
min 最小值 number 0
max 最大值 number 100
disabled 是否禁用 boolean false
step 步長(zhǎng) number 1
showInput 是否顯示輸入框,僅在非范圍選擇時(shí)有效 boolean false
showInputControls 在顯示輸入框的情況下,是否顯示輸入框的控制按鈕 boolean true
showStops 是否顯示間斷點(diǎn) boolean false
range 是否為范圍選擇 boolean false

Events

事件名稱 說明 回調(diào)參數(shù)
onChange 值改變時(shí)觸發(fā) 改變后的值
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)