> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# useAttributeFilterController()

- Package: [@gooddata/sdk-ui-filters](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/index.md)
- Kind: function
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-ui-filters/src/AttributeFilter/hooks/useAttributeFilterController.ts
- Guides: [useAttributeFilterController](https://www.gooddata.ai/docs/gooddata-ui/latest/filters/use-attribute-filter-controller/index.md)

UseAttributeFilterController hook is responsible for initialization of AttributeFilterHandler [IMultiSelectAttributeFilterHandler](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.imultiselectattributefilterhandler/index.md) Core API for Attribute Filter components

**Signature:**

```typescript
useAttributeFilterController: (props: IUseAttributeFilterControllerProps) => AttributeFilterController
```

## Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| props | [IUseAttributeFilterControllerProps](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.iuseattributefiltercontrollerprops/index.md) |  |

**Returns:**

[AttributeFilterController](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.attributefiltercontroller/index.md)

## Remarks

You can access AttributeFilter state and callbacks ([AttributeFilterController](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-filters/sdk-ui-filters.attributefiltercontroller/index.md))

This is the best option if you need to implement fully custom UI for the attribute filter. This option requires a bit more coding, but you have a full control over the UI. It has identical convenient API as AttributeFilter component - same input props and same output props that are available in the internal context of the AttributeFilter component. It works out of the box with other UI.SDK things - [BackendProvider()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.backendprovider/index.md), [WorkspaceProvider()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.workspaceprovider/index.md) and visualization definition placeholders.
