文档
组合框 (Combobox)

组合框 (Combobox)

将文本输入框与列表框相结合,允许用户通过查询来过滤选项列表。

安装

用法

import {
  Combobox,
  ComboboxItem,
  ComboboxTrigger,
  ComboboxContent
} from "@/components/ui/combobox";
import { createFilter } from "@kobalte/core";
import { createSignal } from "solid-js";
const ALL_OPTIONS = ["Apple", "Banana", "Blueberry", "Grapes", "Pineapple"];
 
const filter = createFilter({ sensitivity: "base" });
const [options, setOptions] = createSignal(ALL_OPTIONS);
const onInputChange = (value: string) => {
  setOptions(ALL_OPTIONS.filter(option => filter.contains(option, value)));
};
<Combobox
  options={options()}
  onInputChange={onInputChange}
  itemComponent={props => <ComboboxItem item={props.item}>{props.item.rawValue}</ComboboxItem>}
>
  <ComboboxTrigger>
    <ComboboxInput />
  </ComboboxTrigger>
  <ComboboxContent />
</Combobox>