openMenu method

void openMenu()

Opens the popup menu.

Implementation

void openMenu() {
  final overlay = Overlay.of(context);
  if (overlay == null) return;

  setState(() {
    isOpen = true;
    selectedIndex = 0;
  });

  overlayEntry = OverlayEntry(
    builder: (context) {
      return Positioned(
        left: buttonBounds.x,
        top: buttonBounds.y + buttonBounds.height,
        width: max(12, buttonBounds.width),
        height: widget.items.length,
        child: Column([
          for (var i = 0; i < widget.items.length; i++)
            SizedBox(
              height: 1,
              child: _DropdownMenuItemWidget(
                child: widget.items[i].child,
                selected: i == selectedIndex,
                style: widget.dropdownStyle,
              ),
            ),
        ]),
      );
    },
  );

  overlay.insert(overlayEntry!);
}