记一次 React-CodeMirror2结合antd中折叠面板遇到的更新问题

160 阅读1分钟

问题1:在函数组件中折叠面板的内容含有CodeMirror组件时,收起后再展开需要手动点击才能恢复 解决方案:在折叠面板的onChange方法中加入以下代码即可

let timer = setTimeout(()=>{  //用变量接受定时器运行后返回的实例,用在定时器内容运行结束后清除定时器
    reqRef.current?.editor.refresh()//reqRef:为引入的codeMirror组件的ref对象
    clearTimeout(timer)  //执行完毕后清除定时器以节省浏览器运行消耗
    timer = null  //将定时器变量清空为下次调用赋值做准备
})//在使用定时器时,若不需要设置时间,可省略时间参数