---
url: "https://vueda.dev/v3/reference/api/js/use/useFilterForm.md"
title: "use/useFilterForm"
---

# use/useFilterForm

## Overview

Manages reactive filter form values, translating field-type-specific initial values and range fields into URL-ready query parameters.

## Methods

- [buildFilterFromQuery](/v3/reference/api/js/use/useFilterForm/functions/buildFilterFromQuery.md) - Build an active-filter object from a URL query, or `null` when the field has no value in the query.
- [filtersToParams](/v3/reference/api/js/use/useFilterForm/functions/filtersToParams.md) - Reduce an active-filter list to the flat query-param object the URL and list request carry.
- [getFilterParams](/v3/reference/api/js/use/useFilterForm/functions/getFilterParams.md) - Resolve the URL query-param key(s) a filter writes to.
- [getFilterQueryValue](/v3/reference/api/js/use/useFilterForm/functions/getFilterQueryValue.md) - Read a filter's active value out of a URL query object, in the shape the filter form submits: a `{ [suffix]: value }` object for suffix/range filters, or the bare param value otherwise.
- [getRepeatedFilterParams](/v3/reference/api/js/use/useFilterForm/functions/getRepeatedFilterParams.md) - The query keys whose array values the list request sends as repeated keys: the keys of every filter whose type sets `repeatedKey` in FilterFieldMappings.
- [isRangeFilter](/v3/reference/api/js/use/useFilterForm/functions/isRangeFilter.md) - Whether a filter renders as a range: its value mapping is a range and its metadata declares the two boundary suffixes.
- [useFilterField](/v3/reference/api/js/use/useFilterForm/functions/useFilterField.md) - A Vue composable that creates reactive state for a single filter field based on its type definition.

## Types

### [UseFilterFieldProps](/v3/reference/api/js/use/useFilterForm/types/UseFilterFieldProps.md)

### [UseFilterFieldRawState](/v3/reference/api/js/use/useFilterForm/types/UseFilterFieldRawState.md)

## Source

`client/lib/use/useFilterForm.js:1`
