FilterChip
以一个胶囊表示的筛选条件,“状态 是 2xx”:属性、运算符和值,各自打开一个菜单。
Status
function Basic() {
const [status, setStatus] = useState(["2xx"]);
const [op, setOp] = useState("is");
return (
<div className="flex items-center gap-8">
<FilterChip
property="Status"
propertyIcon={icons.chart}
operator={op}
operators={["is", "is not"]}
onOperatorChange={setOp}
value={status.length > 1 ? `${status.length} classes` : (status[0] ?? "any")}
multiple
values={[
{ value: "2xx", label: "2xx" },
{ value: "4xx", label: "4xx" },
{ value: "5xx", label: "5xx" },
]}
selected={status}
onSelectedChange={setStatus}
onRemove={() => setStatus([])}
/>
<Button variant="ghost" size="sm" leadingIcon={icons.add}>
Add filter
</Button>
</div>
);
}import { FilterChip } from "@logicplanes/kaeso-ui";属性
defaultValuesOpenboolean标签出现时打开值菜单:刚添加的筛选条件会立即询问其值。
multipleboolean可以选择多个值。
onOperatorChange((operator: string) => void)调用时传入所选的比较方式。
onRemove(() => void)移除筛选条件时调用。
onSelectedChange((selected: string[]) => void)调用时传入所选值。
operatorstring“是”“不是”“是以下任一”
operatorsstring[]可供选择的比较方式,例如“是”和“不是”。
propertyReactNode“状态”
propertyIconIconSvgElement筛选条件所作用属性的图标。
selectedstring[] = []所选值。
valueReactNode显示的值:“2xx”或“2 个模型”。
valuesFilterChipChoice[]值菜单中的选项。