【问题标题】:How to make a list of variables in flutter?如何在颤动中制作变量列表?
【发布时间】:2019-03-14 05:06:48
【问题描述】:

我想在颤振中创建一个包含变量的列表。现在,当我尝试编辑列表的内容时,它实际上存储在列表本身中。例如,

static var _ratingSelected = "";
static var _disconnectSelected = "";
static var _uTypeSelected = "";

List finalSelectedList = [_uTypeSelected,_disconnectSelected,_ratingSelected];

这是我的列表,当我将编辑列表时,例如,

finalSelectedList[0] = "Main";

输出列表会是这样的

finalSelectedList = ["Main",_disconnectSelected,_ratingSelected];

它将编辑列表的 finalSelectedList[0] 位置,但不会编辑变量 _uTypeSelected有什么方法可以将值存储在变量 _uTypeSelected 中而不是位置 finalSelectedList[0]

【问题讨论】:

  • 请发布您的尝试Minimal, Complete, and Verifiable example,注明输入和预期输出。
  • 当我将值存储在 0 位置 的列表中时,我希望它实际存储在变量 _uTypeSelected 中并且它不应该编辑实际列表(该列表仅包含这些变量)。
  • 字符串是不可变的,所以你不能改变状态。

标签: list dart flutter


【解决方案1】:

没有办法做到这一点。如果您使用finalSelectedList[0].someProp = "Main";,其中变量是某些具有someProp 属性的类的实例,那么它会起作用,因为还有一个额外的抽象。字符串是原始值,添加到列表时按值复制,因此列表条目和变量之间没有任何连接。

class Foo {
  Foo(this.someProp);
  String someProp;
}
static var _ratingSelected = Foo("");
static var _disconnectSelected = Foo("");
static var _uTypeSelected = Foo("");

List finalSelectedList = [_uTypeSelected,_disconnectSelected,_ratingSelected];
finalSelectedList[0].someProp = "Main";

【讨论】:

    猜你喜欢
    • 2021-05-18
    • 2020-09-25
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 2021-01-15
    • 2021-09-26
    相关资源
    最近更新 更多