@@ -201,20 +201,30 @@ export const useTagsSelector = ({
201201 return [ ] ;
202202 }
203203
204- // 强制按频率排序,忽略 alwaysUseSortByFrequency 的值
205- // 如果有传入标签频率数据,直接使用
206- if ( tagsFrequency && tagsFrequency . length > 0 ) {
207- console . log ( '使用标签频率排序:' , tagsFrequency . slice ( 0 , 5 ) . map ( t => `${ t . tag } (${ t . count } )` ) ) ;
208- const result = tagsFrequency . map ( ( { tag } ) => ( { value : tag } ) ) ;
209- return result ;
204+ console . log ( '是否总是按频率排序:' , alwaysUseSortByFrequency ) ;
205+
206+ // 总是按频率排序或第一次聚焦时按频率排序
207+ if ( alwaysUseSortByFrequency ) {
208+ // 如果有传入标签频率数据,直接使用
209+ if ( tagsFrequency && tagsFrequency . length > 0 ) {
210+ console . log ( '使用标签频率排序:' , tagsFrequency . slice ( 0 , 5 ) . map ( t => `${ t . tag } (${ t . count } )` ) ) ;
211+ const result = tagsFrequency . map ( ( { tag } ) => ( { value : tag } ) ) ;
212+ return result ;
213+ } else {
214+ // 没有频率数据,按字母顺序排序
215+ console . log ( '没有频率数据,使用字母排序' ) ;
216+ return [ ...existingTags ]
217+ . sort ( ( a , b ) => a . localeCompare ( b ) )
218+ . map ( tag => ( { value : tag } ) ) ;
219+ }
210220 } else {
211- // 没有频率数据, 按字母顺序排序
212- console . log ( '没有频率数据 ,使用字母排序' ) ;
221+ // 按字母顺序排序
222+ console . log ( '已聚焦过且非强制频率排序模式 ,使用字母排序' ) ;
213223 return [ ...existingTags ]
214224 . sort ( ( a , b ) => a . localeCompare ( b ) )
215225 . map ( tag => ( { value : tag } ) ) ;
216226 }
217- } , [ existingTags , tagsFrequency ] ) ;
227+ } , [ existingTags , alwaysUseSortByFrequency , tagsFrequency ] ) ;
218228
219229 // 存储排序后的标签,避免重复计算
220230 const sortedTagsOptions = useMemo ( ( ) => {
0 commit comments