@vovacmig

Как сделать возвращаемое значение нулевой функции?

У меня проблема с переводом переменной, я так понимаю синтаксис примерно такой:
loginButton(context) => Material(
  child: MaterialButton(
    onPressed: () {
      if (_formKey.currentState!.validate()) {
        const User().login(username: email, password: password).then((val) {
          if(val == "Success") {
            successRoute(context);
          }
          ScaffoldMessenger
              .of(context)
              .showSnackBar(SnackBar(content: Text((val){
                switch (val){
                  case "dataIncorrectly":
                    return AppLocalizations.of(context)!.dataIncorrectly;
                  case "unexpectedResponse":
                    return AppLocalizations.of(context)!.unexpectedResponse;
                  case "connectionTimeOut":
                    return AppLocalizations.of(context)!.connectionTimeOut;
                  case "errorConnection":
                    return AppLocalizations.of(context)!.errorConnection;
                  default:
                    return "unexpectedError";
                }
              })));
        });
      }
    },
    child: Text(AppLocalizations.of(context)!.signin)
  ),
);


Я получаю сообщение об ошибке: "The argument type 'dynamic Function(dynamic)' can't be assigned to the parameter type 'String'.".

Я понимаю, что функция должна возвращать строку, но не знаю синтаксиса. Я не хочу выводить её отдельно, так как она не будет использоваться в других местах.

Я пытался сделать:
-(){} как String
-(){}.toString()
  • Вопрос задан
  • 49 просмотров
Решения вопроса 2
@Neonoviiwolf
Flutter developer
от вас ждут строку, а вы возвращаете функцию. val вообще тут не нужно передавать в анонимную функцию. Простое решение, просто сделайте функцию (не анонимную) или геттер, который возвращает строку.

Функцию нужно вызывать, чтобы вернулся результат, а там нечему её вызвать, ибо ожидается строка. Вон на скрине как вызвать функцию, но не думаю что разбираться как это сделать тут стоит тратить время, ибо говнокод всё равно выйдет

63a580254ed5a450325202.png
Ответ написан
Комментировать
@vovacmig Автор вопроса
Ответ дали на схожем иностранном форуме, синтаксис таков (){switch...}(). Neonoviiwolf Благодарю
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы