import React, { useEffect, useRef, useState } from "react"; import Quill from "quill"; import "quill/dist/quill.snow.css"; // 引入默认样式 interface CollapsibleContentProps { content: string; maxHeight?: number; } const CollapsibleContent: React.FC = ({ content, maxHeight = 150, }) => { const contentWrapperRef = useRef(null); const [isExpanded, setIsExpanded] = useState(false); const [shouldCollapse, setShouldCollapse] = useState(false); useEffect(() => { if (contentWrapperRef.current) { const shouldCollapse = contentWrapperRef.current.scrollHeight > maxHeight; setShouldCollapse(shouldCollapse); } }, [content]); return (
{/* 包装整个内容区域的容器 */}
{/* 内容区域 */}
{/* 渐变遮罩 */} {shouldCollapse && !isExpanded && (
)}
{/* 展开/收起按钮 */} {shouldCollapse && ( )} {/* PostResources 组件 */} {/* */}
); }; export default CollapsibleContent;