File tree Expand file tree Collapse file tree 2 files changed +12
-7
lines changed Expand file tree Collapse file tree 2 files changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -228,6 +228,8 @@ export interface IMarkdownEditor extends ReactCodeMirrorProps {
228228 toolbars? : IToolBarProps [' toolbars' ];
229229 /** Tool display settings. */
230230 toolbarsMode? : IToolBarProps [' toolbars' ];
231+ /** Override the default preview component */
232+ renderPreview? : (props : MarkdownPreviewProps , visible : boolean ) => React .ReactNode ;
231233 /** [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview#options-props) options */
232234 previewProps? : MarkdownPreviewProps ;
233235}
Original file line number Diff line number Diff line change @@ -28,6 +28,8 @@ export interface IMarkdownEditor extends ReactCodeMirrorProps {
2828 visibleEditor ?: boolean ;
2929 /** Option to hide the tool bar. */
3030 hideToolbar ?: boolean ;
31+ /** Override the default preview component */
32+ renderPreview ?: ( props : MarkdownPreviewProps , visible : boolean ) => React . ReactNode ;
3133 /** Tool display settings. */
3234 toolbars ?: IToolBarProps [ 'toolbars' ] ;
3335 /** Tool display settings. */
@@ -62,6 +64,7 @@ function MarkdownEditor(
6264 toolbars = getCommands ( ) ,
6365 toolbarsMode = getModeCommands ( ) ,
6466 visible = true ,
67+ renderPreview,
6568 visibleEditor = true ,
6669 hideToolbar = true ,
6770 previewProps = { } ,
@@ -92,6 +95,8 @@ function MarkdownEditor(
9295 scrollerStyle ,
9396 ...extensions ,
9497 ] ;
98+ previewProps [ 'className' ] = `${ prefixCls } -preview` ;
99+ previewProps [ 'source' ] = value ;
95100 return (
96101 < div className = { `${ prefixCls || '' } wmde-markdown-var ${ className || '' } ` } ref = { container } >
97102 { hideToolbar && (
@@ -116,13 +121,11 @@ function MarkdownEditor(
116121 />
117122 ) }
118123 </ div >
119- < MarkdownPreview
120- { ...previewProps }
121- data-visible = { ! ! visible }
122- className = { `${ prefixCls } -preview` }
123- ref = { previewContainer }
124- source = { value }
125- />
124+ { renderPreview ? (
125+ renderPreview ( previewProps , ! ! visible )
126+ ) : (
127+ < MarkdownPreview { ...previewProps } data-visible = { ! ! visible } ref = { previewContainer } />
128+ ) }
126129 </ div >
127130 </ div >
128131 ) ;
You can’t perform that action at this time.
0 commit comments