瀏覽代碼

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

Slone 3 月之前
父節點
當前提交
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" })
   })