openDropdown method

void openDropdown()

Opens the dropdown menu.

Implementation

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

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

  overlayEntry = OverlayEntry(
    builder: (context) {
      return Positioned(
        left: buttonBounds.x,
        top: buttonBounds.y + buttonBounds.height,
        width: 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!);
}