import React, { useEffect, useState, useCallback } from 'react'; import { IOTNoPoleSliderProps } from './interface'; import Slider from './fatSlider/fatSlider'; import { dataSource } from "../sliderConfig"; import './style/index.less'; const prefixCls = 'iot-nopole-slider-out'; const IOTNoPoleSlider: React.FC = ({ streamId, streamName, title, subTitle, icon, min, max, intType='float', step, disabled = false, unit, unitdesc, curValue, leftIcon, rightIcon, startHandler = (val: any) => { }, endHandler = (val: any) => { }, ...rest }) => { const [displayValue, setDisplayValue] = useState(''); useEffect(() => { setDisplayValue(curValue); }, [curValue]) return (
{ icon?.show && (
) }
{title}
{intType !== 'float' ?displayValue:Number.parseFloat(displayValue).toFixed(1)}{unit}
{min}
50) } curValue={Number.parseFloat(displayValue)} dotsData={dataSource(min, max, step)} disabled={false} onchange={(val: any) => { const item = { streamId, value: intType !== 'float' ?val:val.toFixed(1), }; endHandler(item); }} move={(val: any) => { setDisplayValue(val); }} start={() => { startHandler('start'); }} >
{max}
); }; export default IOTNoPoleSlider;