【发布时间】:2019-07-27 11:22:31
【问题描述】:
我正在尝试使用颤振更改单击按钮时的文本。
我已将小部件拆分为不同的 dart 文件。我想从不同的 dart 文件中添加文本,但出现错误,因为“位置参数必须出现在命名参数之前。同时将值传递给名为 TextOutput 的构造函数。
这个错误是什么意思? Flutter 的初学者,所以对这个错误的解释将是一个很大的帮助。
我正在尝试将值传递给构造函数,但出现此错误。
class TextControlState extends State<TextControl> {
String _mainText="Hey Divya Here!";
void _changeText() {
setState(() {
this._mainText = "This changed!";
});
}
Widget build(BuildContext context) {
return Center(
child: Container(
margin: EdgeInsets.all(8),
child:
RaisedButton(
child:
Text('Change Text', style: TextStyle(color: Colors.white, fontSize: 18)),
onPressed: _changeText,
),
TextOutput(_mainText)
),
);
TextOutput 飞镖文件
import 'package:flutter/material.dart';
class TextOutput extends StatelessWidget {
final String mainText;
TextOutput(this.mainText);
@override
Widget build(BuildContext context) {
return Text(mainText);
}
}
文本的值应在单击按钮时更改。
【问题讨论】:
-
您正在尝试将
TextOutput小部件添加到Container,但它已经有一个child-RaisedButton。您希望按钮和输出都出现在容器内吗?如果是这样,请将Column放入容器中,并将其他两个小部件添加到该容器中。就目前而言,这与将第二个小部件移动到它自己的源文件无关。 -
是的,我希望按钮和输出都出现在容器内,所以在列内我必须将 Raised button 和 TextOutput 添加为子小部件?
标签: flutter