【发布时间】:2021-07-26 15:38:07
【问题描述】:
我是编程新手,并且正在学习没有 null-safety 的旧课程。我试图通过插入一个默认值来解决这个问题,但这只是让按钮上的所有文本都带有“默认值”这个词。
// @dart=2.9
import 'package:flutter/material.dart';
class Answer extends StatelessWidget {
final Function selectHandler;
final String answerText;
Answer(this.selectHandler, this.answerText);
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
child: RaisedButton(
color: Colors.red.shade400,
textColor: Colors.white,
child: Text(answerText?? 'default value'),
onPressed: selectHandler,
));
}
}
编辑:
Answer 类在这里被调用:
// @dart=2.9
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import './question.dart';
import './answer.dart';
class Quiz extends StatelessWidget {
final List<Map<String, Object>> questions;
final int questionIndex;
final Function answerQuestion;
Quiz(
{@required this.questions,
@required this.answerQuestion,
@required this.questionIndex});
@override
Widget build(BuildContext context) {
return ListView(
children: [
Question(
questions[questionIndex]['questionText']?? "default value",
),
...(questions[questionIndex]['answers'] as List<Map<String, Object>>)
.map((answer) {
return Answer(() => answerQuestion(answer['score']), answer['text']);
}).toList()
],
);
}
}
【问题讨论】:
-
可以分享你拨打Answer的地方吗?
-
@Jahidul Islam 我编辑了它
标签: android ios visual-studio flutter dart