UNPKG

sunmao-sdk

Version:

榫卯-开箱即用赋能-sdk

56 lines (49 loc) 1.24 kB
/** * Created by Tw93 on 2019-12-07. * 滑动输入组件 */ import React from "react"; export default (SliderComponent, NumberComponent) => p => { const style = p.invalid ? { borderColor: "#ff4d4f", boxShadow: "0 0 0 2px rgba(255,77,79,.2)" } : {}; const { max, min, step } = p.schema; let setting = {}; if (max || max === 0) { setting = { max }; } if (min || min === 0) { setting = { ...setting, min }; } if (step) { setting = { ...setting, step }; } const onChange = value => { p.onChange(p.name, value); }; return ( <div className="fr-slider"> <SliderComponent style={{ flexGrow: 1, marginRight: 12 }} {...setting} onChange={onChange} value={typeof p.value === "number" ? p.value : min || 0} disabled={p.disabled || p.readOnly} /> {p.readOnly ? ( <span style={{ width: "90px" }}> {p.value === (undefined || "") ? "-" : p.value} </span> ) : ( <NumberComponent {...p.options} {...setting} style={{ width: "90px", ...style }} value={p.value} disabled={p.disabled} onChange={onChange} /> )} </div> ); };