Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组中每个对象的动态独立标题_Javascript_Alpacajs - Fatal编程技术网

Javascript 数组中每个对象的动态独立标题

Javascript 数组中每个对象的动态独立标题,javascript,alpacajs,Javascript,Alpacajs,在创建羊驼形状的过程中,我遇到了一个我不确定如何继续的情况 以下是我正在使用的模式的表示: $("#samplediv").alpaca({ "schema": { "description": "My Favorite Ice Creams", "type": "array", "items": { "title": "Ice Cream", "type": "object", "properties": {

在创建羊驼形状的过程中,我遇到了一个我不确定如何继续的情况

以下是我正在使用的模式的表示:

$("#samplediv").alpaca({
  "schema": {
    "description": "My Favorite Ice Creams",
    "type": "array",
    "items": {
        "title": "Ice Cream",
        "type": "object",
        "properties": {
            "flavor": {
                "title": "Flavor",
                "description": "Ice cream flavor",
                "type": "string"
            },
            "topping": {
                "title": "Topping",
                "description": "Ice cream topping",
                "type": "string"
            }
        }
    }
  }
});
呈现的架构如下所示:

我有一个由文本字段组成的对象数组。我的目标是根据对象包含的数据,为数组中的每个对象创建一个动态且独立的标题。在本例中,第一个对象可以将“冰淇淋”标题替换为“香草”,第二个对象可以将“巧克力”标题替换为“巧克力”


我尝试使用postRender回调根据当前字段数据设置数组容器中每个对象的title属性,但似乎无法获取要更新的文本

您可以通过一些技巧来实现这一点,但默认情况下,数组类型的字段通常对创建的每个项目使用相同的标题。您需要做的是在更改风味字段后更改标题,这将通过在该字段中使用更改事件来实现

"flavor": {
      "events": {
        "change": function() {
          changeItemLabel(this.parent, this.getValue());
        }
      }
    }
这就可以了,但是所有新创建的项目都会有相同的更新标题!因此,我们想到的想法是使用某种默认标签,并覆盖新创建项目的更新标题

这是一个演示这个案例的例子。
我希望这对您有所帮助,但如果这不是您想要的,请告诉我。

不幸的是,Alpacajs文档非常混乱,并且没有描述一些功能。还有几个例子根本不起作用。因此,您必须深入研究源代码以了解其工作原理:(

要启用折叠,必须将代码放在选项的“项”部分中,如下所示:

"options": {
    "myfield": {
        "toolbarSticky": true,
        "toolbarPosition": "bottom",
        "type": "array",
        "items": {
            "collapsible": true,
            "fields": {
            }
        }
    }
}

这就解决了动态标题错误!是否可以通过单击这些标题来折叠每个对象?我已经成功地尝试添加了“折叠数据”切换,但我正在寻找一个更干净的解决方案!(为什么对象不能像其他容器对象一样折叠?)为了让崩溃生效,有一个选项可以激活它,我试过了,但没有成功…我会在今天下班后再试一次。