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 {
228
228
toolbars? : IToolBarProps [' toolbars' ];
229
229
/** Tool display settings. */
230
230
toolbarsMode? : IToolBarProps [' toolbars' ];
231
+ /** Override the default preview component */
232
+ renderPreview? : (props : MarkdownPreviewProps , visible : boolean ) => React .ReactNode ;
231
233
/** [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview#options-props) options */
232
234
previewProps? : MarkdownPreviewProps ;
233
235
}
Original file line number Diff line number Diff line change @@ -28,6 +28,8 @@ export interface IMarkdownEditor extends ReactCodeMirrorProps {
28
28
visibleEditor ?: boolean ;
29
29
/** Option to hide the tool bar. */
30
30
hideToolbar ?: boolean ;
31
+ /** Override the default preview component */
32
+ renderPreview ?: ( props : MarkdownPreviewProps , visible : boolean ) => React . ReactNode ;
31
33
/** Tool display settings. */
32
34
toolbars ?: IToolBarProps [ 'toolbars' ] ;
33
35
/** Tool display settings. */
@@ -62,6 +64,7 @@ function MarkdownEditor(
62
64
toolbars = getCommands ( ) ,
63
65
toolbarsMode = getModeCommands ( ) ,
64
66
visible = true ,
67
+ renderPreview,
65
68
visibleEditor = true ,
66
69
hideToolbar = true ,
67
70
previewProps = { } ,
@@ -92,6 +95,8 @@ function MarkdownEditor(
92
95
scrollerStyle ,
93
96
...extensions ,
94
97
] ;
98
+ previewProps [ 'className' ] = `${ prefixCls } -preview` ;
99
+ previewProps [ 'source' ] = value ;
95
100
return (
96
101
< div className = { `${ prefixCls || '' } wmde-markdown-var ${ className || '' } ` } ref = { container } >
97
102
{ hideToolbar && (
@@ -116,13 +121,11 @@ function MarkdownEditor(
116
121
/>
117
122
) }
118
123
</ 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
+ ) }
126
129
</ div >
127
130
</ div >
128
131
) ;
You can’t perform that action at this time.
0 commit comments