android 为Flutter中的参数添加显式非“空”默认值

sqxo8psd  于 2023-04-18  发布在  Android
关注(0)|答案(2)|浏览(161)

我是Antika,几天前开始学习代码,只熟悉HTML/CSS/JS,以及dart/flutter的基础知识

开发者级别:初级
项目类型和语言:我正在开发一个任务应用,使用
flutter

这是我的任务卡代码(小工具)-

class TaskCardWidget extends StatelessWidget {

//const TaskCardWidget({ Key? key }) : super(key: key);

final String title;  
TaskCardWidget({this.title}); 

//  THE ERROR IS RETURNING HERE, IN THE LINE JUST ABOVE <<
//   ⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀⁀

  @override
  Widget build(BuildContext context) {
    return Container(
  
...
// I WANT IT TO WORK LIKE THIS - 
// if title comes null,
// it should change to "Unnamed Task" 

          Text(
            title ?? "(Unnamed Task)",
           //style: TextStyle(),
          ),
...

    );}}

问题/错误-代码返回以下错误。

The parameter 'title' can't have a value of 'null' because of its type, but the implicit default value is 'null'.

Try adding an explicit non- "null" default value ...

LIMITATION-应用程序的限制是,title可能会得到空值。

如果发生这种情况,我想简单地将title值更改为“(Unnamed task)"。

如何让构造器接受“标题”值
然后在代码中处理'null'值

0lvr5msh

0lvr5msh1#

变化

final String title;

final String? title;
7fyelxc5

7fyelxc52#

虽然公认的答案是一个工作的解决方案,但它是给定问题的错误答案。
final字段的默认参数值:

final String title;  
TaskCardWidget({this.title = "(Unnamed Task)"});

相关问题