如何将 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 不需要是 boolString (url) 也可以。当imageUrl 为空时,它将被视为false。不过,您编辑的问题仍然令人困惑。您可以在返回 String 的方法中使用代码,也可以在返回 Widget 的方法中使用代码(构建方法 f.e.)。返回一次Widget 和一次String 的方法没有多大帮助。在任何一种情况下,如果这让您感到困惑,您可能想使用 ifelse 而不是 ?:

以上是关于如何将 Text 变量的初始值提供给 Text Widget Flutter的主要内容,如果未能解决你的问题,请参考以下文章

如何从模型实例(具有来自 api 的值)传递数据并将其提供给 Text() 小部件

如何从文本框中获取值并将其分配给 Xcode 中的整数变量?

如何从文本字段中获取值并将其传递给变量?

winform中如何在一个窗口中调用另一个窗口的textBox里的Text属性值

是否可以为 Text 小部件提供默认值?

(学生党)如何将js获取到的text值传递给后台servlet页面(mvc)