我使用软件包swiper/react来创建一个用户可以在两个面板之间滑动的视图。我还使用了**@monaco-editor/react**包,这样我的用户就可以编写代码了。
我面临的问题是,当我把编辑器内滑动幻灯片,用户不能点击编辑器或键入任何东西。我推测这是因为刷卡器组件。在下面的代码中,我有两个编辑器的示例。一个在滑杆里另一个在滑杆外面。你会注意到,编辑器是外面的刷卡工作完美,但一个里面没有。如有任何帮助,我们将不胜感激
import Editor, { loader } from "@monaco-editor/react";
import { Swiper, SwiperSlide } from "swiper/react";
function Index() {
return (
<>
<Swiper>
<SwiperSlide>
<div style={{ height: "400px" }}>
<Editor
width="100%"
height="100%"
options={{
minimap: { enabled: false },
readOnly: false,
overviewRulerBorder: false,
padding: { top: 25 },
lineDecorationsWidth: 0,
selectionHighlight: false,
occurrencesHighlight: false,
tabSize: 2,
fontSize: 14.5,
}}
className="code-editor-window"
/>
</div>
</SwiperSlide>
<SwiperSlide>
<div>
<h1>Test Slide</h1>
</div>
</SwiperSlide>
</Swiper>
<br />
<div style={{ height: "400px" }}>
<Editor
width="100%"
height="100%"
options={{
minimap: { enabled: false },
readOnly: false,
overviewRulerBorder: false,
padding: { top: 25 },
lineDecorationsWidth: 0,
selectionHighlight: false,
occurrencesHighlight: false,
tabSize: 2,
fontSize: 14.5,
}}
className="code-editor-window"
/>
</div>
</>
);
}
export default Index;
1条答案
按热度按时间blmhpbnm1#
Swiper组件可能会干扰编辑器组件的事件处理和焦点管理。
useEffect钩子在组件挂载时触发编辑器的布局刷新。