Просмотр исходного кода

fix: escape CSS selector keys to handle special characters (#9030)

Slone 2 месяцев назад
Родитель
Сommit
07dc8d8ce4
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      packages/ui/src/components/list.tsx

+ 2 - 2
packages/ui/src/components/list.tsx

@@ -69,7 +69,7 @@ export function List<T>(props: ListProps<T> & { ref?: (ref: ListRef) => void })
     if (!props.current) return
     const key = props.key(props.current)
     requestAnimationFrame(() => {
-      const element = scrollRef()?.querySelector(`[data-key="${key}"]`)
+      const element = scrollRef()?.querySelector(`[data-key="${CSS.escape(key)}"]`)
       element?.scrollIntoView({ block: "center" })
     })
   })
@@ -81,7 +81,7 @@ export function List<T>(props: ListProps<T> & { ref?: (ref: ListRef) => void })
       scrollRef()?.scrollTo(0, 0)
       return
     }
-    const element = scrollRef()?.querySelector(`[data-key="${active()}"]`)
+    const element = scrollRef()?.querySelector(`[data-key="${CSS.escape(active()!)}"]`)
     element?.scrollIntoView({ block: "center" })
   })