Range 滑块

滑动型输入器,展示当前值和可选范围。

何时使用

当用户需要在数值区间/自定义区间内进行选择时,可为连续或离散值。

代码演示

基本使用

带有 range 控件的数字字段。

Range滑块 - 图1

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Range } from 'choerodon-ui/pro';
  4. ReactDOM.render(
  5. <div>
  6. <Range min={0} max={1} step={0.01} />
  7. <Range style={{ margin: '0.2rem 0 0 0' }} value={20} min={0} max={100} step={5} disabled />
  8. </div>,
  9. document.getElementById('container')
  10. );

受控

受控。

Range滑块 - 图2

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Range, TextField, Row, Col } from 'choerodon-ui/pro';
  4. class App extends React.Component {
  5. constructor(props) {
  6. super(props);
  7. this.state = {
  8. value: 30,
  9. };
  10. }
  11. handleChange = (value) => {
  12. this.setState({
  13. value,
  14. });
  15. };
  16. render() {
  17. return (
  18. <Row>
  19. <Col span={4}>
  20. <TextField value={this.state.value} />
  21. </Col>
  22. <Col span={20}>
  23. <Range
  24. onChange={this.handleChange}
  25. value={this.state.value}
  26. name="range"
  27. min={10}

绑定数据源

绑定数据源。

Range滑块 - 图3

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { DataSet, Range } from 'choerodon-ui/pro';
  4. function handleDataSetChange({ value, oldValue }) {
  5. console.log('[dataset]', value, '[oldValue]', oldValue);
  6. }
  7. class App extends React.Component {
  8. ds = new DataSet({
  9. autoCreate: true,
  10. fields: [
  11. { name: 'range', defaultValue: 20, min: 10, max: 100, step: 1 },
  12. ],
  13. events: {
  14. update: handleDataSetChange,
  15. },
  16. });
  17. render() {
  18. return <Range dataSet={this.ds} name="range" />;
  19. }
  20. }
  21. ReactDOM.render(
  22. <App />,
  23. document.getElementById('container')

垂直

垂直方向的 Range。

Range滑块 - 图4

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Range } from 'choerodon-ui/pro';
  4. ReactDOM.render(
  5. <div style={{ height: 200 }}>
  6. <Range vertical min={0} max={100} step={5} />
  7. </div>,
  8. document.getElementById('container')
  9. );

API

参数说明类型默认值
max最大值number100
min最小值number0
step步长,取值必须大于 0,并且可被 (max - min) 整除number1
vertical是否垂直booleanfalse

更多属性请参考 FormField