Flutter 如何连接两个CaTex对象?

Flutter 如何连接两个CaTex对象?,flutter,dart,Flutter,Dart,在我的颤振项目中,我使用的是乳胶渲染器。我想向现有Catex对象添加latex值。我有一个包含latex值的字符串列表和一个按顺序显示它们的listview。我想在每次调用OnTap方法时向Catex添加一个列表项。 到目前为止,不支持+运算符 未为类型“CaTeX”定义运算符“+” 您可以使用以下命令为Catex类指定+运算符: 这不是很可靠,因为它取决于包的输入属性。另外,您正在类中存储一个常量小部件,这也是不推荐的。 小部件是在构建过程中创建的,因此颤振框架可以在其上正常工作 正确的

在我的颤振项目中,我使用的是乳胶渲染器。我想向现有Catex对象添加latex值。我有一个包含latex值的字符串列表和一个按顺序显示它们的listview。我想在每次调用OnTap方法时向Catex添加一个列表项。 到目前为止,不支持+运算符

未为类型“CaTeX”定义运算符“+”

您可以使用以下命令为Catex类指定
+
运算符:

这不是很可靠,因为它取决于包的
输入
属性。另外,您正在类中存储一个常量小部件,这也是不推荐的。 小部件是在构建过程中创建的,因此颤振框架可以在其上正常工作

正确的方法是在您的状态中有一个字符串,其中包含将传递到Catex的输入:

String catexInput = r'\mu =: \sqrt{x}';
[...]
catexInput += data[this.value];
[...]
return Catex(catexInput);
编辑: 如果您想拥有一个包含多个Catex小部件的列,除了您的状态需要包含字符串列表之外,您可以执行相同的操作:

List<String> catexInputs = [r'\mu =: \sqrt{x}'];
[...]
catexInput.add(data[this.value]);
[...]
return Column(children: [for (String input in catexInput) Catex(input)]);;
List catexinput=[r'\mu=:\sqrt{x}'];
[...]
catexInput.add(数据[this.value]);
[...]
返回列(子项:[用于(catexInput中的字符串输入)Catex(输入)];;

请共享您的代码。@ChristopherMoore,共享
  changeListItems(int val) {
    setState(() {
      this.value = val;
      if (this.value != 0) {
        catex += data[this.value];
      }
    });
  }
body: ListView.builder(
            itemCount: this.value,
            itemBuilder: (context, index) {
              return Column(children: [catex]);
            }),
 onTap: (int index) {
    index == 0
     ? this.value = this.value - 1
     : this.value = this.value + 1;
     changeListItems(this.value);
 }
extension Sum on Catex{
  Catex operator +(Catex other) {
    return Catex(this.input + other.input);
  }
}
String catexInput = r'\mu =: \sqrt{x}';
[...]
catexInput += data[this.value];
[...]
return Catex(catexInput);
List<String> catexInputs = [r'\mu =: \sqrt{x}'];
[...]
catexInput.add(data[this.value]);
[...]
return Column(children: [for (String input in catexInput) Catex(input)]);;