@@ -5,7 +5,7 @@ import config from '../config';
5
5
import Props from './template-props' ;
6
6
import { useTNodeJSX } from '../hooks/tnode' ;
7
7
import { TdCalendarProps , TDate , TDateType } from './type' ;
8
- import { useConfig } from '../config-provider/useConfig ' ;
8
+ import { usePrefixClass , useConfig } from '../hooks/useClass ' ;
9
9
10
10
const { prefix } = config ;
11
11
const name = `${ prefix } -calendar` ;
@@ -20,6 +20,7 @@ export default defineComponent({
20
20
setup ( _props , context ) {
21
21
const renderTNodeJSX = useTNodeJSX ( ) ;
22
22
const { t, globalConfig } = useConfig ( 'calendar' ) ;
23
+ const calendarClass = usePrefixClass ( 'calendar' ) ;
23
24
24
25
const props = inject ( 'templateProps' ) as TdCalendarProps ;
25
26
// 获取时间年月日起
@@ -213,9 +214,9 @@ export default defineComponent({
213
214
templateRef,
214
215
} ) ;
215
216
const getDateItemClass = ( dateItem : TDate ) => {
216
- let className = `${ name } __dates-item` ;
217
+ let className = `${ calendarClass . value } __dates-item` ;
217
218
if ( dateItem . type ) {
218
- className = `${ className } ${ name } __dates-item--${ dateItem . type } ` ;
219
+ className = `${ className } ${ calendarClass . value } __dates-item--${ dateItem . type } ` ;
219
220
}
220
221
if ( dateItem . className ) {
221
222
className = `${ className } ${ dateItem . className } ` ;
@@ -228,19 +229,21 @@ export default defineComponent({
228
229
if ( cell ) {
229
230
return cell ;
230
231
}
231
- let className = `${ name } __dates-item-suffix` ;
232
+ let className = `${ calendarClass . value } __dates-item-suffix` ;
232
233
if ( dateItem . type ) {
233
- className = `${ className } ${ name } __dates-item-suffix--${ dateItem . type } ` ;
234
+ className = `${ className } ${ calendarClass . value } __dates-item-suffix--${ dateItem . type } ` ;
234
235
}
235
236
return (
236
237
< >
237
- { dateItem . prefix && < div class = { `${ name } __dates-item-prefix` } > { dateItem . prefix } </ div > }
238
+ { dateItem . prefix && < div class = { `${ calendarClass . value } __dates-item-prefix` } > { dateItem . prefix } </ div > }
238
239
{ dateItem . day }
239
240
{ dateItem . suffix && < div class = { className } > { dateItem . suffix } </ div > }
240
241
</ >
241
242
) ;
242
243
} ;
243
- const className = usePopup . value ? `${ name } ${ name } --popup` : `${ name } ` ;
244
+ const className = usePopup . value
245
+ ? `${ calendarClass . value } ${ calendarClass . value } --popup`
246
+ : `${ calendarClass . value } ` ;
244
247
245
248
const renderConfirmBtn = ( ) => {
246
249
if ( confirmBtn . value && typeof confirmBtn . value !== 'object' ) {
@@ -256,22 +259,24 @@ export default defineComponent({
256
259
257
260
return (
258
261
< div ref = { templateRef } class = { className } >
259
- < div class = { `${ name } __title` } > { _props . title || globalConfig . value . title } </ div >
260
- { usePopup . value && < CloseIcon class = { `${ name } __close-btn` } size = "24" onClick = { handleClose } > </ CloseIcon > }
261
- < div class = { `${ name } __days` } >
262
+ < div class = { `${ calendarClass . value } __title` } > { _props . title || globalConfig . value . title } </ div >
263
+ { usePopup . value && (
264
+ < CloseIcon class = { `${ calendarClass . value } __close-btn` } size = "24" onClick = { handleClose } > </ CloseIcon >
265
+ ) }
266
+ < div class = { `${ calendarClass . value } __days` } >
262
267
{ ( days . value || [ ] ) . map ( ( item , index ) => (
263
- < div key = { index } class = { `${ name } __days-item` } >
268
+ < div key = { index } class = { `${ calendarClass . value } __days-item` } >
264
269
{ item }
265
270
</ div >
266
271
) ) }
267
272
</ div >
268
- < div class = { `${ name } __months` } style = "overflow: auto" >
273
+ < div class = { `${ calendarClass . value } __months` } style = "overflow: auto" >
269
274
{ months . value . map ( ( item , index ) => (
270
275
< >
271
- < div class = { `${ name } __month` } key = { index } >
276
+ < div class = { `${ calendarClass . value } __month` } key = { index } >
272
277
{ t ( globalConfig . value . monthTitle , { year : item . year , month : globalConfig . value . months [ item . month ] } ) }
273
278
</ div >
274
- < div class = { `${ name } __dates` } key = { index } >
279
+ < div class = { `${ calendarClass . value } __dates` } key = { index } >
275
280
{ new Array ( ( item . weekdayOfFirstDay - firstDayOfWeek . value + 7 ) % 7 )
276
281
. fill ( 0 )
277
282
. map ( ( emptyItem , index ) => (
@@ -292,7 +297,7 @@ export default defineComponent({
292
297
</ >
293
298
) ) }
294
299
</ div >
295
- { usePopup . value && < div class = "t-calendar__footer" > { renderConfirmBtn ( ) } </ div > }
300
+ { usePopup . value && < div class = { ` ${ calendarClass . value } __footer` } > { renderConfirmBtn ( ) } </ div > }
296
301
</ div >
297
302
) ;
298
303
} ;
0 commit comments