【发布时间】:2022-01-21 08:10:33
【问题描述】:
我想保留 null 作为产品 ID 的默认值,因为它稍后会自动生成,但由于颤振 null 安全检查,我不能。 这是我要保留 id = null 的实例创建代码:
var _editedProduct = Product(
id: null,
title: '',
price: 0,
description: '',
imageUrl: '',
);
这是我的 Product.dart 文件的代码:
import 'package:flutter/material.dart';
class Product with ChangeNotifier {
final String id;
final String title;
final String description;
final double price;
final String imageUrl;
bool isFavorite;
Product({
required this.id,
required this.title,
required this.description,
required this.price,
required this.imageUrl,
this.isFavorite = false,
});
void toggleFavoriteStatus() {
isFavorite = !isFavorite;
notifyListeners();
}
}
错误截图
【问题讨论】:
-
您的 id 必须是
String?,这意味着它可以接受空值。 -
这解决了我的问题:final String? productId = ModalRoute.of(context)!.settings.arguments as String?;