我收到此錯誤,稱為 The named parameter 'key' is required,但沒有相應的引數。我正在使用顫振,android studio 開發電子商務應用程式。不明白我是新來的錯誤。誰能告訴我如何處理這個錯誤?
這是該專案的 youtube 鏈接
這是源代碼的github鏈接
在此處輸入影像描述
import 'package:flutter/material.dart';
import 'package:shop_app/constants.dart';
import 'package:shop_app/models/Product.dart';
import 'package:shop_app/screens/details/details_screen.dart';
import 'categorries.dart';
import 'item_card.dart';
class Body extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: const EdgeInsets.symmetric(horizontal: kDefaultPaddin),
child: Text(
"Women",
style: Theme.of(context)
.textTheme
.headline5
?.copyWith(fontWeight: FontWeight.bold),
),
),
Categories(),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: kDefaultPaddin),
child: GridView.builder(
itemCount: products.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
mainAxisSpacing: kDefaultPaddin,
crossAxisSpacing: kDefaultPaddin,
childAspectRatio: 0.75,
),
itemBuilder: (context, index) => ItemCard(
product: products[index],
press: () => Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DetailsScreen(
product: products[index],
),
)),
)),
),
),
],
);
}
}
uj5u.com熱心網友回復:
在下面class Body …和上面@override添加這些行:
const Body({
Key? Key,
}) : super(key: key);
Key是您應該傳遞給所有Stateless和StatefulFlutter 小部件的默認設定。
uj5u.com熱心網友回復:
您的問題出在 Flutter 版本上。更新 Flutter SDK,再次從 GitHub 下載專案并運行。
uj5u.com熱心網友回復:
///Changed Key to "Key?"
const ItemCard({
Key? key,
this.product,
this.press,
}) : super(key: key);
///Changed Key to "Key?"
const DetailsScreen({Key? key,
this.product}) : super(key: key);
上面提到的更改對我有用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/509925.html
標籤:扑
