如何将 Text 变量的初始值提供给 Text Widget Flutter
Posted
技术标签:
【中文标题】如何将 Text 变量的初始值提供给 Text Widget Flutter【英文标题】:How to supply an Initial Value of the Text variable into a Text Widget Flutter 【发布时间】:2020-11-07 15:15:13 【问题描述】:在用户放置他们自己的图像之前从颤动进入circleAvatar我想用初始值替换空格,将currentUser变量名的第一个数字放入TextWidget。 这意味着例如名字是“john”我想得到“J” 我们怎样才能做到这一点?
final imageUrl = true;
和构建方法
imageUrl ? CircleAvatar(
radius: 60,
backgroundImage: AssetImage(currentUser.imageUrl),)
: CircleAvatar(backgroundColor: Colors.yellow,
child: Text(currentUser.name[0]),),
SizedBox(
height: 60,
),
通过这种方式我明白了,但我不知道如果 imageUrl 为 null 时如何返回 currentUser.name[0]
【问题讨论】:
请提供更多信息或代码 我已经编辑了我想要获取文本变量第一个数字的问题,如果名称是 John 我想要获取 J 【参考方案1】:获取名称的第一个字符:
final s = "John";
print(s[0]); // => J
为防止出现空值,您可以使用??
或?
运算符。
根据imageUrl
是否为null
,获取带有字符文本小部件的圆形头像而不是图像:
imageUrl ? CircleAvatar(backgroundImage: NetworkImage(imageUrl),)
: CircleAvatar(backgroundColor: Colors.brown.shade800,
child: Text(currentUser && currentUser.isNotEmpty? currentUser[0] : "default"),)
【讨论】:
我的意思是文本变量的初始值,例如名称的第一个数字。 获取字符串变量s
的第一个字符只需使用s[0]
,前提是你知道s不为空
我补充说:bool imageUrl = false; final s = "$currentUser.name";和代码: imageUrl ? CircleAvatar(半径:60,backgroundImage:AssetImage(currentUser.imageUrl),):CircleAvatar(backgroundColor:Colors.yellow,child:Text(currentUser.name.isEmpty && currentUser.name.isNotEmpty?s[0]:“默认”) ,),circeavatar 上的图像正确显示,但如果我删除图像,变量 currentUser.name 的初始值不会显示。我添加了上面的代码
imageUrl
不需要是 bool
。 String
(url) 也可以。当imageUrl
为空时,它将被视为false
。不过,您编辑的问题仍然令人困惑。您可以在返回 String
的方法中使用代码,也可以在返回 Widget
的方法中使用代码(构建方法 f.e.)。返回一次Widget
和一次String
的方法没有多大帮助。在任何一种情况下,如果这让您感到困惑,您可能想使用 if
和 else
而不是 ?
和 :
。以上是关于如何将 Text 变量的初始值提供给 Text Widget Flutter的主要内容,如果未能解决你的问题,请参考以下文章
如何从模型实例(具有来自 api 的值)传递数据并将其提供给 Text() 小部件
如何从文本框中获取值并将其分配给 Xcode 中的整数变量?