{/* Do not edit this file. It is automatically generated by API Documenter. */}


## PopupMenu

Setting model for pop-up menu or submenu registered in grid

\[Super class\]

[PopupMenuBase](/refs/Interface/PopupMenuBase)

**Signature:**

```typescript
export interface PopupMenu extends PopupMenuBase
```
**Extends:** [PopupMenuBase](/refs/Interface/PopupMenuBase)

## Remarks

Register using [setContextMenu](/refs/Class/GridBase#setcontextmenu) or [addPopupMenu](/refs/Class/GridBase#addpopupmenu){/* */}.

Right-click or use the button to display.

## Example


```js
  let menu = [{
      name: "group1",
      label: "menu1.",
      children: [{
          name: "child1",
          label: "This is submenu1."
      }, {
          name: "child2",
          label: "This is submenu2."
      }]
  }, {
      name: "menu2",
      label: "This is menu2",
  }, {
      label: "-"
  }, {
      name: "check",
      label: "This is menu3",
      type: "check",
      checked: true,
      tag: "check_menu"
  }, {
      name: "radiogroup",
      label: "group menu",
      children: [{
          name: "radio1",
          label: "group1 - first",
          type: "radio",
          group: "group1",
          checked: true
      }, {
          name: "radio2",
          label: "group1 - second",
          type: "radio",
          group: "group1"
      }, {
          name: "radio3",
          label: "group1 - third",
          type: "radio",
          group: "group1"
      }]
  }];
```

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [addMenu](/refs/Interface/PopupMenu#addmenu) | (src: ([PopupMenu](/refs/Interface/PopupMenu) \| [PopupMenuItem](/refs/Interface/PopupMenuItem){/* */})\[\], index?: number) =&gt; [PopupMenu](/refs/Interface/PopupMenu) \| [PopupMenuItem](/refs/Interface/PopupMenuItem) | Add a submenu. |
| [children](/refs/Interface/PopupMenu#children) | ([PopupMenu](/refs/Interface/PopupMenu) \| [PopupMenuItem](/refs/Interface/PopupMenuItem){/* */})\[\] | Specifies a submenu. |
| [getMenu](/refs/Interface/PopupMenu#getmenu) | (name: string) =&gt; [PopupMenu](/refs/Interface/PopupMenu) \| [PopupMenuItem](/refs/Interface/PopupMenuItem) | Brings up a submenu. |
| [removeMenu](/refs/Interface/PopupMenu#removemenu) | (name: string) =&gt; boolean | Remove submenu. |

## Properties Desc

### addMenu

Add a submenu.

`Type` - (src: ([PopupMenu](/refs/Interface/PopupMenu) \| [PopupMenuItem](/refs/Interface/PopupMenuItem){/* */})\[\], index?: number) = &gt; [PopupMenu](/refs/Interface/PopupMenu) \| [PopupMenuItem](/refs/Interface/PopupMenuItem)

<hr/>

### children

Specifies a submenu.

`Type` - ([PopupMenu](/refs/Interface/PopupMenu) \| [PopupMenuItem](/refs/Interface/PopupMenuItem){/* */})\[\]

<hr/>

### getMenu

Brings up a submenu.

`Type` - (name: string) =&gt; [PopupMenu](/refs/Interface/PopupMenu) \| [PopupMenuItem](/refs/Interface/PopupMenuItem)

**Remarks:**

Used to change the properties of a submenu.

**Example:**


```js
const menu = grid.getPopupMenu('popup1');
const subMenu = menu.getMenu('menu1');
subMenu.enabled = false;
```

<hr/>

### removeMenu

Remove submenu.

`Type` - (name: string) =&gt; boolean

<hr/>