青梧 UI

Select 下拉选择器

手风琴错峰动画:选项像琴键逐项按下,向上展开反向级联;单选、选项禁用、受控/非受控双模式。点开试试。

操作日志
暂无日志,操作下拉后将在此显示
import { Select } from "@qingwu-ui/select";
import "@qingwu-ui/select/style.css";

const FRAMEWORKS = [
  { value: "react", label: "React", hint: "框架无关" },
  { value: "ember", label: "Ember", disabled: true },
];

function FrameworkPicker() {
  const rootRef = useRef<HTMLDivElement>(null);
  const selRef = useRef<Select | null>(null);

  useEffect(() => {
    const el = rootRef.current;
    if (!el) return;
    selRef.current = new Select(el, {
      placeholder: "选择框架",
      options: FRAMEWORKS,
    });
    return () => selRef.current?.destroy();
  }, []);

  return <div ref={rootRef} />;
}

基础单选

无默认值,显示占位符;点开面板逐项琴键落下。

默认选中 + 辅助说明

defaultValue 预选,hint 展示副文本。

选项禁用

Lit / Ember 置灰不可选,键盘导航自动跳过。

整体禁用

disabled: true,触发器置灰不可点。

面板磨砂 vs 不透明

frosted 默认开启:半透明底 + backdrop-filter 毛玻璃;false 回退不透明实体面板。

受控模式

value 由外部驱动,用户选择仅回调;配合按钮重设。

贴近底部 · 向上翻转

触发器贴视口底边时,面板向上弹且琴键反向级联。