import React, { useState, useCallback, useEffect, SetStateAction, forwardRef } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { FileText } from 'lucide-react'; import { ScriptRenderer } from '@/components/script-renderer/ScriptRenderer'; import { useEditData } from '@/components/pages/work-flow/use-edit-data'; interface ScriptTabContentProps { setIsPauseWorkFlow: (isPauseWorkFlow: boolean) => void; isPauseWorkFlow: boolean; originalText?: string; } export const ScriptTabContent = forwardRef< { checkUpdate: () => boolean }, ScriptTabContentProps >((props, ref) => { const { setIsPauseWorkFlow, isPauseWorkFlow, originalText } = props; const { loading, scriptData, setAnyAttribute, applyScript } = useEditData('script', originalText); const [isUpdate, setIsUpdate] = useState(false); useEffect(() => { console.log('contentEditableRef---scriptTabContentIsChange', isUpdate); }, [isUpdate]); // 暴露方法给父组件 React.useImperativeHandle(ref, () => ({ checkUpdate: () => isUpdate })); // 如果loading 显示loading状态 if (loading) { return (

Loading...

); } // 如果没有数据,显示空状态 if (!scriptData || scriptData.length === 0) { return (

No script data

); } return (
); });