dropdownButton<T> static method

SectionTile dropdownButton<T>(
  1. {Key? key,
  2. required String titleText,
  3. String? subTitle,
  4. Icon? icon,
  5. required Color color,
  6. List<T>? items,
  7. List<DropdownMenuItem<T>>? dropdownMenuItems,
  8. ValueSetter<T?>? onChanged,
  9. T? value,
  10. bool isDense = false,
  11. bool isExpanded = false,
  12. double? itemHeight = kMinInteractiveDimension,
  13. Color? focusColor,
  14. FocusNode? focusNode,
  15. bool autofocus = false,
  16. Color? dropdownColor,
  17. double? menuMaxHeight,
  18. bool dense = false}
)

Implementation

static SectionTile dropdownButton<T>({
  Key? key,
  required String titleText,
  String? subTitle,
  Icon? icon,
  required Color color,
  List<T>? items,
  List<DropdownMenuItem<T>>? dropdownMenuItems,
  ValueSetter<T?>? onChanged,
  T? value,
  bool isDense = false,
  bool isExpanded = false,
  double? itemHeight = kMinInteractiveDimension,
  Color? focusColor,
  FocusNode? focusNode,
  bool autofocus = false,
  Color? dropdownColor,
  double? menuMaxHeight,
  bool dense = false,
}) {
  dropdownMenuItems ??= items!
      .map((e) => DropdownMenuItem<T>(
            value: e,
            child: Text(e.toString()),
          ))
      .toList();

  return SectionTile(
    key: key,
    titleText: titleText,
    subTitle: subTitle == null ? null : Text(subTitle),
    icon: icon,
    color: color,
    dense: dense,
    trailing: DropdownButton<T>(
      items: dropdownMenuItems,
      value: value,
      onChanged: onChanged,
      isDense: isDense,
      isExpanded: isExpanded,
      itemHeight: itemHeight,
      focusColor: focusColor,
      focusNode: focusNode,
      autofocus: autofocus,
      dropdownColor: dropdownColor,
      menuMaxHeight: menuMaxHeight,
    ),
  );
}