---
url: "https://vueda.dev/v3/reference/api/vue/FilterForm.md"
title: "FilterForm"
---

# FilterForm

## Overview

Renders the body of a filter popover for a single filterable field. It
displays a heading, the appropriate field widget via `FieldRenderer`, and an
Apply button that submits the filter value back to the parent
`FilterFieldForm`.

Theme entry: [FilterForm](/v3/reference/theming/keys/FilterForm.md)

## Props

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="prop-themeOverride">themeOverride</span> | `Object` |  | `null` | A partial ThemeObject keyed by component name, merged over this component's theme and provided to descendants. |
| <span id="prop-filterName">filterName</span> | `string` | yes |  | Field name this form filters on, used to look up the field renderer and slot names. |
| <span id="prop-filterLabel">filterLabel</span> | `string` | yes |  | Human-readable label displayed in the form heading. |
| <span id="prop-applyFilter">applyFilter</span> | `func` | yes |  | Callback invoked when the user submits the filter form. |
| <span id="prop-hasFilterValue">hasFilterValue</span> | `boolean` |  | `false` | When true, indicates an active filter value is set for this field. |

## Slots

| Name | Scoped | Description |
| --- | --- | --- |
| `filter-form-header` | yes | Header area at the top of the filter form. |
| `filter-form-submit-button` | yes | Submit button for the filter form. |

[Full slot reference](/v3/reference/api/vue/FilterForm/slots.md)

## Source

`client/lib/form/filter/FilterForm.vue`
