<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[`BasesView`](BasesView)
## BasesView class
Plugins can create a class which extends this in order to render a Base. Plugins should create a function, then call `plugin.registerView` to register the view factory.
1.10.0
**Signature:**
```typescript
export abstract class BasesView extends Component
```
**Extends:** [`Component`](Component)
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [`(constructor)(controller)`](BasesView/(constructor).md) | <code>protected</code> | 1.10.0 |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [`allProperties`](BasesView/allProperties) | | [`BasesPropertyId`](BasesPropertyId)<code>[]</code> | <p>All available properties from the dataset.</p><p> 1.10.0</p> |
| [`app`](BasesView/app) | | [`App`](App) | 1.10.0 |
| [`config`](BasesView/config) | | [`BasesViewConfig`](BasesViewConfig) | <p>The config object for this view.</p><p> 1.10.0</p> |
| [`data`](BasesView/data) | | [`BasesQueryResult`](BasesQueryResult) | <p>The most recent output from executing the bases query, applying filters, and evaluating formulas. This object will be replaced with a new result set when changes to the vault or Bases config occur, so views should not keep a reference to it. Also note the contained BasesEntry objects will be recreated.</p><p> 1.10.0</p> |
| [`type`](BasesView/type) | <code>abstract</code> | <code>string</code> | <p>The type ID of this view</p><p> 1.10.0</p> |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [`addChild(component)`](Component/addChild) | | <p>Adds a child component, loading it if this component is loaded</p><p> 0.12.0</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`createFileForView(baseFileName, frontmatterProcessor)`](BasesView/createFileForView) | | <p>Display the new note menu for a file with the provided filename and optionally a function to modify the frontmatter.</p><p> 1.10.2</p> |
| [`load()`](Component/load) | | <p>Load this component and its children</p><p> 0.9.7</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`onDataUpdated()`](BasesView/onDataUpdated) | <code>abstract</code> | <p>Called when there is new data for the query. This view should rerender with the updated data.</p><p> 1.10.0</p> |
| [`onload()`](Component/onload) | | <p>Override this to load your component</p><p> 0.9.7</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`onunload()`](Component/onunload) | | <p>Override this to unload your component</p><p> 0.9.7</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`register(cb)`](Component/register) | | <p>Registers a callback to be called when unloading</p><p> 0.9.7</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`registerDomEvent(el, type, callback, options)`](Component/registerDomEvent) | | <p>Registers a DOM event to be detached when unloading</p><p> 0.14.8</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`registerDomEvent(el, type, callback, options)`](Component/registerDomEvent_1) | | <p>Registers a DOM event to be detached when unloading</p><p> 0.14.8</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`registerDomEvent(el, type, callback, options)`](Component/registerDomEvent_2) | | <p>Registers a DOM event to be detached when unloading</p><p> 0.14.8</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`registerEvent(eventRef)`](Component/registerEvent) | | <p>Registers an event to be detached when unloading</p><p> 0.9.7</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`registerInterval(id)`](Component/registerInterval) | | <p>Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API</p><p> 0.13.8</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`removeChild(component)`](Component/removeChild) | | <p>Removes a child component, unloading it</p><p> 0.12.0</p><p>(Inherited from [Component](Component)<!-- -->)</p> |
| [`unload()`](Component/unload) | | <p>Unload this component and its children</p><p> 0.9.7</p><p>(Inherited from [Component](Component)<!-- -->)</p> |