# CustomControl

Canonical page: https://www.adaptabletools.com/docs/reference/customcontrol

Escape hatch: render bespoke framework content (React / Angular / Vue) in the cell.

```ts title="TypeScript"
export interface CustomControl<TData = any, CTX = ActionColumnContext<TData>> extends BaseControl<TData, CTX> 
```

###### Extends

[`BaseControl`](https://www.adaptabletools.com/docs/reference/basecontrol.md)`<TData, CTX>`

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [frameworkComponent](https://www.adaptabletools.com/docs/reference/customcontrol.md#frameworkcomponent) | [`AdaptableFrameworkComponent`](https://www.adaptabletools.com/docs/reference/adaptableframeworkcomponent.md) | Framework-specific (Angular / Vue / React) component to render in the cell.<br/>Use this for the Angular and Vue variants of AdapTable. |
| [render](https://www.adaptabletools.com/docs/reference/customcontrol.md#render) | `(context: CTX) => React.ReactNode` | React render function returning a node for the cell, with full row context injected.<br/>Use this in the React variant of AdapTable. |
| [renderHTML](https://www.adaptabletools.com/docs/reference/customcontrol.md#renderhtml) | [`CustomRenderFunction`](https://www.adaptabletools.com/docs/reference/customrenderfunction.md) | Framework-agnostic render function returning an HTML string (mount/destroy phases). |
| [type](https://www.adaptabletools.com/docs/reference/customcontrol.md#type) | `'custom'` | Discriminator. Set to `'custom'`. |

## Property Details

### frameworkComponent

Framework-specific (Angular / Vue / React) component to render in the cell.
Use this for the Angular and Vue variants of AdapTable.

```ts title="TypeScript"
frameworkComponent?: AdaptableFrameworkComponent;
```

###### Property Value

[`AdaptableFrameworkComponent`](https://www.adaptabletools.com/docs/reference/adaptableframeworkcomponent.md)

### render

React render function returning a node for the cell, with full row context injected.
Use this in the React variant of AdapTable.

```ts title="TypeScript"
render?: (context: CTX) => React.ReactNode;
```

###### Property Value

`(context: CTX) => React.ReactNode`

### renderHTML

Framework-agnostic render function returning an HTML string (mount/destroy phases).

```ts title="TypeScript"
renderHTML?: CustomRenderFunction;
```

###### Property Value

[`CustomRenderFunction`](https://www.adaptabletools.com/docs/reference/customrenderfunction.md)

### type

Discriminator. Set to `'custom'`.

```ts title="TypeScript"
type: 'custom';
```

###### Property Value

`'custom'`
