【问题标题】:The named parameter 'body' isn't defined. error未定义命名参数“body”。错误
【发布时间】:2021-09-01 19:45:36
【问题描述】:

for Body:TabBarView 行给出了这个错误。 Android studio 提供使用 key: 但它也有同样的问题。我真的是新手,如果问题不合逻辑请见谅。

 Widget build(context) {
    return Scaffold(
      body: Container(
        padding: const EdgeInsets.all(
          10.0,
        ),
        child: FutureBuilder<Categories>(
          future: _futureCategory,
          builder: (BuildContext context, AsyncSnapshot<Categories> snapshot) {
            if (snapshot.hasData) {
              final category = snapshot.data?.data;

              return ListView.builder(
                itemCount: category!.length,
                itemBuilder: (BuildContext context, id) {
                  return DefaultTabController(
                  length: 6,
                  child: AppBar(
                    centerTitle: true,
                    leading: const Icon(Icons.person_outline),
                    bottom: const PreferredSize(
                        child: TabBar(
                          isScrollable: true,
                          tabs: [
                            Tab(
                              child: Text('Tab'),
                    ),

                          ],
                        ),
                        preferredSize: Size.fromHeight(30.0)),
                  actions: const <Widget>[
                    Padding(
                  padding: EdgeInsets.only(right: 16.0),
                  child: Icon(Icons.add_alert),
                  )

                  ]
                  ),
                      body: TabBarView(
                  children: <Widget>[
                  Container(
                  child: const Center(
                  child: Text('Tab 1'),
                  ),
                  ),
    ]));
                }
              );

如有任何帮助,将不胜感激。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    如果您想像这样使用appBarbody,则必须使用Scaffold

    Scaffold(
      appBar: AppBar(),
      body: yourBody()
    )
    

    你的那部分代码会是这样的:

    return DefaultTabController(
        length: 6,
        child: Scaffold(
          appBar: AppBar(
              centerTitle: true,
              leading: const Icon(Icons.person_outline),
              bottom: const PreferredSize(
                  child: TabBar(
                    isScrollable: true,
                    tabs: [
                      Tab(
                        child: Text('Tab'),
                      ),
                    ],
                  ),
                  preferredSize: Size.fromHeight(30.0)),
              actions: const <Widget>[
                Padding(
                  padding: EdgeInsets.only(right: 16.0),
                  child: Icon(Icons.add_alert),
                )
              ]),
          body: TabBarView(children: <Widget>[
            Container(
              child: const Center(
                child: Text('Tab 1'),
              ),
            ),
          ]),
        ));
    

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 2017-12-13
      • 2020-02-13
      • 2022-11-01
      • 2019-10-02
      相关资源
      最近更新 更多