[英]In Flutter/Dart, using async function to assign values, will the variable using the old pointed instance if it's changed?
[英]Assign function to a variable in Dart/Flutter
我正在尝试将function (返回字符串)用于Text
小部件。 如果我直接使用 getName() 它工作正常。
但是,如果通过像下面这样的动态变量分配 function,则会引发错误。 我想更新按钮按下的名称。
Text(title, style:kText20White),
Button(
title: 'Change Name',
onPressed: (){
setState((){
value = 1;
});
{
)
dynamic title;
int value = 0;
@override
void initState() {
super.initState();
title = getName;
}
String getName(){
if(name == 0){
return 'Taarak';
} else {
return 'Harshad';
}
错误: type '() => String' is not a subtype of type 'String'
是否可以通过变量通过 function 分配字符串?
终于明白你想做什么了。
您需要检查标题的变量类型并按类型划分调用。
这是最终解决方案!!!
Text(title is String ? title : title(), style:kText20White),
Button(
title: 'Change Name',
onPressed: (){
setState((){
value = 1;
});
{
)
dynamic title;
int value = 0;
@override
void initState() {
super.initState();
title = getName;
}
String getName(){
if(name == 0){
return 'Taarak';
} else {
return 'Harshad';
}
您引用的是 function,您必须在那里致电 function
String title;
String getName(){
return 'First Name';
}
title = getName; //Here you are referencing a function, You have to call function here
Text(title, style:kText20White)
解决方案:
title = getName();
尝试这个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.