import React, { useEffect, useState } from 'react'; import { IOTSliderProps } from './interface'; import Slider from './Slider/Slider'; import { dataSource } from "../sliderConfig"; import './style/index.less'; import { typeConversion } from "../../base/utils"; import NormalIcon from '../../base/normalIcon'; const prefixCls = 'iot-slider-out'; const IOTSlider: React.FC = ({ streamId, title, subTitle, streamName, type, icon, min, max, intType='float', step, unit, disabled = false, unitdesc, curValue, startHandler = (val: any) => { }, endHandler = (val: any) => { }, ...rest }) => { const [currentValue, setcurrentValue] = useState(curValue); const onChange = (value: any) => { setcurrentValue(value); // console.log(value); }; useEffect(() => { setcurrentValue(typeConversion(type, curValue)); }, [curValue, type]) return (
{icon?.show && (
)}
{title}
{ intType !== 'float' ?currentValue:Number.parseFloat(currentValue).toFixed(1)} {unit}
50)} showHandleBtn={false} curValue={`${currentValue}`} dotsData={dataSource(min, max, step)} disabled={false} onchange={(val: any) => { const item = { streamId, value: intType !== 'float' ?val:val.toFixed(1), }; endHandler(item); setcurrentValue(val); }} move={(val: any) => { // console.log(val); setcurrentValue(val); }} start={() => { startHandler('start'); }} >
); }; export default IOTSlider;