  [](https://www.npmjs.com/package/bizcharts)[](https://npmjs.org/package/bizcharts)
# bizcharts-plugin-slider
A datazoom slider plugin for BizCharts base g2-plugin-slider.
## Installation
Please make sure BizCharts has been already loaded.
### npm
```sh
$ npm install bizcharts-plugin-slider
```
### html
```html
```
### dev build
```sh
$ git clone https://github.com/alibaba/BizCharts.git
$ cd BizCharts
$ cd /plugin/slider
$ npm install
$ npm run build
```
### dev demo
```sh
slider $ sudo vi /etc/hosts
// add 127.0.0.1 localhost
slider $ npm run demo
// open in browser http://localhost:3510/
```
## Usage
see [demo](https://alibaba.github.io/BizCharts/demo-detail.html?code=demo/other/rain-and-flow)
## API Reference
### Create an instance
```jsx
```
### Property
#### 1、 `width` *number | string*
设置 slider 组件的宽度,默认为 `auto`,表示自适应容器的宽度。
#### 2、 `height` *number*
设置 slider 组件的高度,默认为 26,单位为 'px'。
#### 3、 `padding`
设置 slider 组件所在画布 canvas 的内边距,用于与图表对齐(默认图表的 canvas 容器也是带了内边距),默认值同 BizCharts 默认主题的 padding 相同,[ 20, 20, 95, 80 ]。
#### 4、 `xAxis` *string*
**必须声明** Slider 是带有背景图表的滑动条组件,该字段用于声明该背景图表的横轴映射字段,同时该字段也是数据过滤字段。
#### 5、 `yAxis` *string*
**必须声明** Slider 是带有背景图表的滑动条组件,该字段用于声明该背景图表的纵轴轴映射字段。
### 6、 `data` *array | dataview*
**必须声明**,数据源。
#### 7、 `start` *number | string*
声明滑动条起始滑块的位置对应的数据值,默认为最小值。
#### 8、 `end` *number | string*
声明滑动条结束滑块的位置对应的数据值,默认为最大值。
#### 9、 `scales` *object*
用于对 `xAxis` 和 `yAxis` 字段进行列定义,用于同操作的图表中对应的列定义相同。
示例代码:
```jsx
```
#### 10、 `fillerStyle` *object*
选中区域的样式配置,默认配置如下:
```jsx
```
图中红框框选区域:
#### 11、 `backgroundStyle` *object*
slider 整体背景样式。
#### 12、 `textStyle` *object*
slider 辅助文本字体样式配置。
#### 13、 `handleStyle` *object*
slider 滑块的样式配置,可配置的属性如下:
```jsx
```
#### 14、 `backgroundChart` *object*
slider 滑块的背景图表配置,可配置其图表类型以及颜色:
```jsx
```
#### 15、 `onChange` *function*
当滑动条滑块发生变化时,触发该回调函数,主要用于更新 ds 的状态量。该回调函数会提供一个参数,该参数是一个对象,包含如下属性:
```jsx
{
const { startValue, endValue, startText, endText } = obj;
}}
/>
```
* `startValue` 起点滑块当前对应的原始数据值,如果是 `time` 或者 `timeCat` 类型是,该值为时间戳,请注意。
* `endValue` 终点滑块当前对应的原始数据值,如果是 `time` 或者 `timeCat` 类型是,该值为时间戳,请注意。
* `startText` 起点滑块当前的显示文本值
* `endText` 终点滑块当前的显示文本值
> 说明:之所以区分 text 和 value,是因为大部分情况下用户会对数值进行格式化,所以在设置状态量和更新状态量时,需要保证前后数值类型的一致。