@@ -214,138 +214,137 @@ const CommentCompBase = (
214
214
}
215
215
} ;
216
216
return (
217
- < div
218
- style = { {
217
+ < div style = { {
219
218
margin : style . margin ?? "3px" ,
220
219
padding : style . padding ?? "3px" ,
221
220
width : widthCalculator ( style . margin ?? "3px" ) ,
222
221
height : heightCalculator ( style . margin ?? "3px" ) ,
223
222
background : style . background ,
224
- overflow : "auto" ,
225
- overflowX : "hidden" ,
226
223
borderRadius : style . radius ,
227
- } }
228
- ref = { divRef }
229
- >
230
- < List
231
- header = {
232
- title !== "" ? (
233
- < div >
234
- { commentListData . length > 1
235
- ? title
236
- . replaceAll ( "%d" , commentListData . length . toString ( ) )
237
- . replace ( "comment" , "comments" )
238
- : title . replaceAll ( "%d" , commentListData . length . toString ( ) ) }
239
- </ div >
240
- ) : (
241
- ""
242
- )
243
- }
244
- size = "small"
224
+ } } >
225
+ < div
226
+ style = { {
227
+ overflow : "auto" ,
228
+ overflowX : "hidden" ,
229
+ height : "100%" ,
230
+ } }
231
+ ref = { divRef }
245
232
>
246
- < VirtualList
247
- data = { commentListData }
248
- ////////////////////////////////////////////////////////////////
249
- // T_T , Frustrating, unable to obtain component height
250
- // height={height - (sendCommentAble ? 145 : 45) + (title === "" ? 40 : 0)}
251
- // ref={VirtualListRef}
252
- ////////////////////////////////////////////////////////////////
253
- itemKey = "createdAt"
233
+ < List
234
+ header = {
235
+ title !== "" ? (
236
+ < div style = { { position : 'sticky' , top :0 , background : style . background } } >
237
+ { commentListData . length > 1
238
+ ? title
239
+ . replaceAll ( "%d" , commentListData . length . toString ( ) )
240
+ . replace ( "comment" , "comments" )
241
+ : title . replaceAll ( "%d" , commentListData . length . toString ( ) ) }
242
+ </ div >
243
+ ) : (
244
+ ""
245
+ )
246
+ }
247
+ size = "small"
254
248
>
255
- { ( item , index ) => (
256
- < List . Item
257
- key = { item ?. createdAt }
258
- actions = {
259
- deleteAble
260
- ? [
261
- < CloseOutlined
262
- style = { { color : "#c32230" } }
263
- onClick = { ( ) => handleDelete ( index ) }
264
- /> ,
265
- ]
266
- : undefined
267
- }
268
- >
269
- < List . Item . Meta
270
- avatar = { generateCommentAvatar ( item ) }
271
- title = {
272
- < div onClick = { ( ) => props . onEvent ( "click" ) } >
273
- < a > { item ?. user ?. name } </ a >
274
- < Tooltip
275
- title = {
276
- dayjs ( item ?. createdAt ) . isValid ( )
277
- ? dayjs ( item ?. createdAt ) . format ( "YYYY/M/D HH:mm:ss" )
278
- : trans ( "comment.dateErr" )
279
- }
280
- placement = "bottom"
281
- >
282
- < span
283
- style = { {
284
- paddingLeft : "5px" ,
285
- color : "#999" ,
286
- fontSize : "11px" ,
287
- } }
288
- >
289
- { dayjs ( item ?. createdAt ) . isValid ( )
290
- ? dayjs ( item ?. createdAt ) . fromNow ( )
291
- : trans ( "comment.dateErr" ) }
292
- </ span >
293
- </ Tooltip >
294
- </ div >
295
- }
296
- description = { < span > { item ?. value } </ span > }
297
- />
298
- </ List . Item >
299
- ) }
300
- </ VirtualList >
301
- </ List >
302
- { sendCommentAble ? (
303
- < >
304
- < Mentions
305
- style = { {
306
- width : "98%" ,
307
- height : 50 ,
308
- margin : "0px 10px 0px 5px" ,
309
- // position: "fixed",
310
- // bottom: "50px",
311
- } }
312
- onSearch = { onSearch }
313
- prefix = { Object . keys ( MentionListData ) }
314
- onChange = { onChange }
315
- onSelect = { ( option : any ) => {
316
- dispatch ( changeChildAction ( "mentionName" , option ?. value , false ) ) ;
317
- props . onEvent ( "mention" ) ;
318
- } }
319
- value = { context }
320
- rows = { 2 }
321
- onPressEnter = { onPressEnter }
322
- placeholder = { placeholder }
249
+ < VirtualList
250
+ data = { commentListData }
251
+ ////////////////////////////////////////////////////////////////
252
+ // T_T , Frustrating, unable to obtain component height
253
+ // height={height - (sendCommentAble ? 145 : 45) + (title === "" ? 40 : 0)}
254
+ // ref={VirtualListRef}
255
+ ////////////////////////////////////////////////////////////////
256
+ itemKey = "createdAt"
323
257
>
324
- { ( MentionListData [ prefix ] || [ ] ) . map (
325
- ( value : string , index : number ) => (
326
- < Mentions . Option key = { index . toString ( ) } value = { value } >
327
- { value }
328
- </ Mentions . Option >
329
- )
258
+ { ( item , index ) => (
259
+ < List . Item
260
+ key = { item ?. createdAt }
261
+ actions = {
262
+ deleteAble
263
+ ? [
264
+ < CloseOutlined
265
+ style = { { color : "#c32230" } }
266
+ onClick = { ( ) => handleDelete ( index ) }
267
+ /> ,
268
+ ]
269
+ : undefined
270
+ }
271
+ >
272
+ < List . Item . Meta
273
+ avatar = { generateCommentAvatar ( item ) }
274
+ title = {
275
+ < div onClick = { ( ) => props . onEvent ( "click" ) } >
276
+ < a > { item ?. user ?. name } </ a >
277
+ < Tooltip
278
+ title = {
279
+ dayjs ( item ?. createdAt ) . isValid ( )
280
+ ? dayjs ( item ?. createdAt ) . format ( "YYYY/M/D HH:mm:ss" )
281
+ : trans ( "comment.dateErr" )
282
+ }
283
+ placement = "bottom"
284
+ >
285
+ < span
286
+ style = { {
287
+ paddingLeft : "5px" ,
288
+ color : "#999" ,
289
+ fontSize : "11px" ,
290
+ } }
291
+ >
292
+ { dayjs ( item ?. createdAt ) . isValid ( )
293
+ ? dayjs ( item ?. createdAt ) . fromNow ( )
294
+ : trans ( "comment.dateErr" ) }
295
+ </ span >
296
+ </ Tooltip >
297
+ </ div >
298
+ }
299
+ description = { < span > { item ?. value } </ span > }
300
+ />
301
+ </ List . Item >
330
302
) }
331
- </ Mentions >
332
- < Button
333
- type = "primary"
334
- style = { {
335
- width : "98%" ,
336
- margin : "10px 10px 10px 5px" ,
337
- // position: "fixed",
338
- // bottom: "0px",
339
- } }
340
- onClick = { handleSubmit }
341
- disabled = { context === "" }
342
- >
343
- { buttonText }
344
- </ Button >
345
- </ >
346
- ) : (
347
- ""
348
- ) }
303
+ </ VirtualList >
304
+ </ List >
305
+ { sendCommentAble ? (
306
+ < div style = { { position : "sticky" , bottom : 0 , background : style . background } } >
307
+ < Mentions
308
+ style = { {
309
+ width : "100%" ,
310
+ height : 50 ,
311
+ } }
312
+ onSearch = { onSearch }
313
+ prefix = { Object . keys ( MentionListData ) }
314
+ onChange = { onChange }
315
+ onSelect = { ( option : any ) => {
316
+ dispatch ( changeChildAction ( "mentionName" , option ?. value , false ) ) ;
317
+ props . onEvent ( "mention" ) ;
318
+ } }
319
+ value = { context }
320
+ rows = { 2 }
321
+ onPressEnter = { onPressEnter }
322
+ placeholder = { placeholder }
323
+ >
324
+ { ( MentionListData [ prefix ] || [ ] ) . map (
325
+ ( value : string , index : number ) => (
326
+ < Mentions . Option key = { index . toString ( ) } value = { value } >
327
+ { value }
328
+ </ Mentions . Option >
329
+ )
330
+ ) }
331
+ </ Mentions >
332
+ < Button
333
+ type = "primary"
334
+ style = { {
335
+ width : "100%" ,
336
+ marginTop : "10px" ,
337
+ } }
338
+ onClick = { handleSubmit }
339
+ disabled = { context === "" }
340
+ >
341
+ { buttonText }
342
+ </ Button >
343
+ </ div >
344
+ ) : (
345
+ ""
346
+ ) }
347
+ </ div >
349
348
</ div >
350
349
) ;
351
350
} ;
0 commit comments