dart 在Flutter中使用标题

ecr0jaav  于 2023-02-01  发布在  Flutter
关注(0)|答案(2)|浏览(141)
import 'package:flutter/material.dart';

class CategoryMealsScreen extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    final routeArgs =
        ModalRoute.of(context)!.settings.arguments as Map<String, String>;
    final categoryTitle = routeArgs['title'];
    final categoryId = routeArgs['id'];
    return Scaffold(
      appBar: AppBar(
        title: Text(categoryTitle),
      ),
      body: Center(
        child: Text(
          'The Recipes For The Category!',
        ),
      ),
    );
  }
}

我得到了这个代码的错误和标题中的错误:文本(categoryTitle),我应该做什么来修复它?

bwntbbo3

bwntbbo31#

可以将其转换为字符串

Text(categoryTitle.toString());
rsaldnfx

rsaldnfx2#

您遇到此错误是因为categoryTitle的类型可能不是String格式,您可以通过以下方法解决此问题:
1.当你第一次赋值时,你可以将categoryTitle转换为String,如下所示:
final String categoryTitle = routeArgs['title'].toString();
1.当您希望在UI的小部件中显示时,可以转换为字符串,如下所示:

appBar: AppBar(
        title: Text(categoryTitle.toString()),
      ),

然而,我建议在赋值时转换为您需要的类型,这样您就不必担心以后的类型转换。

相关问题