import React, { useEffect, useState } from 'react'; import { IOTCordEntryEnumProps } from './interface'; import IOTBottomSlide from '../../common/IOTBottomSlide/index' import './style/index.less'; import IOTAllGrid from '../IOTAllGrid'; const prefixCls = 'iot-cord-entry-enum-out'; const IOTCordEntryenum: React.FC = ({ streamId, icon, title, subTitle, disabled = false, items, handler = (val: any) => { }, childrenIcon = false, ...rest }) => { const [currentValue, setcurrentValue] = useState(''); const [currValue, setcurValue] = useState({}); const [btmBarType, setBtmBarType] = useState('show'); // com // show const [btm, setBtm] = useState(false); const onChange = (value: any) => { setcurrentValue(value); // console.log(value); }; const [middleList, setMiddleList] = useState>>([]); const [modelTopList, setModelTopList] = useState([]); const [modelFootList, setModelFootList] = useState([]); useEffect(() => { if (items.length > 0) { if (items.length > 0 && items.length <= 4) { setModelTopList([...items]); } else if (items.length > 4 && items.length <= 8) { let topArr; let footArr; if (items.length === 5) { topArr = items.slice(0, 3); footArr = items.slice(3); } else if (items.length === 6) { topArr = items.slice(0, 3); footArr = items.slice(3); } else { topArr = items.slice(0, 4); footArr = items.slice(4); } setModelTopList([...topArr]) setModelFootList([...footArr]) } else if (items.length > 8) { const l = items.length; let n = Math.floor(l / 4); const m = l % 4; // console.log(l, 'llll'); // console.log(m, 'mmmmm'); if (m > 0) { n = n + 1 - 2; } else { n = n - 2; } // console.log(n, 'nnnnnn'); const arr = items.slice(4, l - m); // console.log(arr, 'arr'); const middle = []; for (let i = 0; i < n; i++) { const item = arr.slice(i * 4, i * 4 + 4); // console.log(item, 'arr'); middle.push(item); } // console.log(middle, 'middle~~~~'); const topArr = items.slice(0, 4); const footArrMode = m === 0 ? items.slice(l - 4) : items.slice(l - m); setMiddleList(middle); setModelTopList([...topArr]); const mentalist: any = []; // console.log(m, 'm========'); if (m > 0) { for (let i = 0; i < 4 - m; i++) { const item = { value: null, text: '', icon: '', checked: false, }; mentalist.push(item); } } setModelFootList([...footArrMode, ...mentalist]); } } }, [items]); useEffect(() => { if (items) { items.map((item: any) => { if (item['checked']) { setcurrentValue(item['text']) } }) } }, [items]) return ( <>
{ icon?.show && (
) }
{title}
{ subTitle?.show && (
{subTitle['value']}
) }
{ }}>
{ setBtm(true); }}>
{currentValue}
{disabled && (
)}
{ // console.log(val); setTimeout(() => { const bodyDom = document.querySelectorAll('body') as NodeListOf; bodyDom[0].style.overflow = 'auto'; setBtm(false); }, 500); }} leftText={`更多${title}`} rightText='取消' type={btmBarType} title={title}> { handler(val); setTimeout(() => { const bodyDom = document.querySelectorAll('body') as NodeListOf; bodyDom[0].style.overflow = 'auto'; setBtm(false); }, 500); }} /> ); }; export default IOTCordEntryenum;