import React from 'react'; import { Input, Tooltip } from 'antd'; export interface NameEditProp { initValue: string | null; disabledEdit?: boolean; onChange?: (value: string) => void; } const NameEdit: React.FC = function ({ initValue, disabledEdit = false, onChange }) { const [editing, setEditing] = React.useState(false); const [value, setValue] = React.useState(''); React.useEffect(() => { setValue(initValue || ''); }, [initValue]); return (
{ !disabledEdit && setEditing(true); }} onBlur={() => { setEditing(false); onChange?.(value); }}> {editing ? ( setValue(e.currentTarget.value)} onPressEnter={() => { setEditing(false); onChange?.(value); }} /> ) : ( {value || '未命名'} )}
); }; export default NameEdit;