import React, { memo, useEffect } from 'react'; import { Input, Button, Popconfirm } from 'antd'; import { MinusCircleFilled } from '@ant-design/icons'; import styles from './index.less'; import { TMutiTextDefaultType } from '../types'; type MultiTextProps = { onChange?: (v: TMutiTextDefaultType) => void; value?: TMutiTextDefaultType; }; export default memo(function MutiText(props: MultiTextProps) { const { value, onChange } = props; const handleAdd = () => { onChange && onChange([...value!, '新增项目']); }; const handleDel = (index: number) => { let newList = value!.filter((_item, i) => i !== index); onChange && onChange(newList); }; const handleChange = (index: number, e: React.ChangeEvent) => { let newList = value!.map((item, i) => (i === index ? e.target.value : item)); onChange && onChange(newList); }; useEffect(() => { window['currentCates'] = value!; return () => { window['currentCates'] = null; }; }, [value]); return (
{value && value.length ? ( value!.map((item, i) => { return (
handleChange(i, e)} /> handleDel(i)} placement="leftTop" okText="确定" cancelText="取消" >
); }) ) : (
)} {value && value.length < 3 && (
)}
); });