# FilterValueOption

> _Since v3.10.0_

A filter value paired with the label the set filter panel should show for it.

Return these from a FilterValuesHandler when the server knows the
display text. Server-fetched values have no rows, so the panel can't call
`column.format(value, row)` with a real row for them. Same `{ value, label }`
shape as ColumnConfig.options.

#### Example

```ts
valuesHandler: async (field) => {
  const res = await fetch(`/api/distinct/${field}`);
  const rows: { id: string; name: string }[] = await res.json();
  return rows.map((d) => ({ value: d.id, label: d.name }));
}
```

## Properties

| Property | Type | Description |
| -------- | ---- | ----------- |
| <span id="value"></span>`value` | <code>unknown</code> | The value the filter matches against (what ends up in the filter model). |
| <span id="label"></span>`label` | <code>string</code> | Text shown next to the checkbox and matched by the panel's search box. |
