decodeDropdownMenuThemeData static method

DropdownMenuThemeData? decodeDropdownMenuThemeData(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the given value to an DropdownMenuThemeData. This expects the given value to be of the following structure:

{
  "inputDecorationTheme": "<InputDecorationTheme>",
  "menuStyle": "<MenuStyle>",
  "textStyle": "<TextStyle>"
}

See also:

Implementation

static DropdownMenuThemeData? decodeDropdownMenuThemeData(
  dynamic value, {
  bool validate = true,
}) {
  DropdownMenuThemeData? result;

  if (value is DropdownMenuThemeData) {
    result = value;
  } else if (value != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/dropdown_menu_theme_data',
      value: value,
      validate: validate,
    ));

    result = DropdownMenuThemeData(
      inputDecorationTheme: decodeInputDecorationTheme(
        value['inputDecorationTheme'],
        validate: false,
      ),
      menuStyle: decodeMenuStyle(
        value['menuStyle'],
        validate: false,
      ),
      textStyle: decodeTextStyle(
        value['textStyle'],
        validate: false,
      ),
    );
  }

  return result;
}