js-components-basic-slider.md 3.1 KB
Newer Older
Z
zengyawen 已提交
1 2
# slider

H
geshi  
HelloCrease 已提交
3
>  **说明:**
Z
zengyawen 已提交
4
> 从API version 4开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
Z
zengyawen 已提交
5 6 7

滑动条组件,用来快速调节设置值,如音量、亮度等。

Z
zengyawen 已提交
8 9

## 子组件
Z
zengyawen 已提交
10 11 12 13

不支持。


Z
zengyawen 已提交
14 15 16 17 18 19 20 21 22 23 24 25 26
## 属性

除支持[通用属性](../arkui-js/js-components-common-attributes.md)外,还支持如下属性:

| 名称 | 类型 | 默认值 | 必填 | 描述 |
| -------- | -------- | -------- | -------- | -------- |
| min | number | 0 | 否 | 滑动选择器的最小值。 |
| max | number | 100 | 否 | 滑动选择器的最大值。 |
| step | number | 1 | 否 | 每次滑动的步长。 |
| value | number | 0 | 否 | 滑动选择器的初始值。 |
| mode<sup>5+</sup> | string | outset | 否 | 滑动条样式:<br/>-&nbsp;outset:滑块在滑杆上;<br/>-&nbsp;inset:滑块在滑杆内。 |
| showsteps<sup>5+</sup> | boolean | false | 否 | 是否显示步长标识。 |
| showtips<sup>5+</sup> | boolean | false | 否 | 滑动时是否有气泡提示百分比。 |
Z
zengyawen 已提交
27 28


Z
zengyawen 已提交
29
## 样式
Z
zengyawen 已提交
30

Z
zengyawen 已提交
31
除支持[通用样式](../arkui-js/js-components-common-styles.md)外,还支持如下样式:
Z
zengyawen 已提交
32

Z
zengyawen 已提交
33 34 35 36 37
| 名称 | 类型 | 默认值 | 必填 | 描述 |
| -------- | -------- | -------- | -------- | -------- |
| color | &lt;color&gt; | #19000000 | 否 | 滑动条的背景颜色。 |
| selected-color | &lt;color&gt; | #ff007dff | 否 | 滑动条的已选择颜色。 |
| block-color | &lt;color&gt; | \#ffffff | 否 | 滑动条的滑块颜色。 |
Z
zengyawen 已提交
38 39


Z
zengyawen 已提交
40
## 事件
Z
zengyawen 已提交
41

Z
zengyawen 已提交
42
除支持[通用事件](../arkui-js/js-components-common-events.md)外,还支持如下事件:
Z
zengyawen 已提交
43

Z
zengyawen 已提交
44 45 46
| 名称 | 参数 | 描述 |
| -------- | -------- | -------- |
| change | ChangeEvent | 选择值发生变化时触发该事件。 |
Z
zengyawen 已提交
47

Z
zengyawen 已提交
48
**表1** ChangeEvent
Z
zengyawen 已提交
49

Z
zengyawen 已提交
50 51 52 53 54 55 56
| 属性 | 类型 | 说明 |
| -------- | -------- | -------- |
| value<sup>5+</sup> | number | 当前slider的进度值。 |
| mode<sup>5+</sup> | string | 当前change事件的类型,可选值为:<br/>-&nbsp;start:slider的值开始改变。<br/>-&nbsp;move:slider的值跟随手指拖动中。<br/>-&nbsp;end:slider的值结束改变。 |


## 示例
Z
zengyawen 已提交
57

H
geshi  
HelloCrease 已提交
58
```html
Z
zengyawen 已提交
59 60 61 62 63
<!-- xxx.hml -->
<div class="container">
  <text>slider start value is {{startValue}}</text>
  <text>slider current value is {{currentValue}}</text>
  <text>slider end value is {{endValue}}</text>
Z
zengyawen 已提交
64
  <slider min="0" max="100" value="{{value}}" onchange="setvalue" ></slider>
Z
zengyawen 已提交
65 66 67
</div>
```

H
geshi  
HelloCrease 已提交
68
```css
Z
zengyawen 已提交
69 70 71 72 73
/* xxx.css */
.container {
  flex-direction: column;
  justify-content: center;
  align-items: center;
Z
zengyawen 已提交
74
  
Z
zengyawen 已提交
75 76 77
}
```

H
geshi  
HelloCrease 已提交
78
```js
Z
zengyawen 已提交
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
// xxx.js
export default {
  data: {
    value: 0,
    startValue: 0,
    currentValue: 0,
    endValue: 0,
  },
  setvalue(e) {
    if (e.mode == "start") {
      this.value = e.value;
      this.startValue = e.value;
    } else if (e.mode == "move") {
      this.value = e.value;
      this.currentValue = e.value;
    } else if (e.mode == "end") {
      this.value = e.value;
      this.endValue = e.value;
周沺耳 已提交
97 98 99
    } else if (e.mode == "click) {
      this.value = e.value;
      this.currentValue = e.value;
Z
zengyawen 已提交
100 101 102 103 104
    }
  }
}
```

Z
zengyawen 已提交
105 106
![zh-cn_image_0000001173324709](figures/zh-cn_image_0000001173324709.png)

Z
zengyawen 已提交
107