Forms 人工修改后的羊驼只读

Forms 人工修改后的羊驼只读,forms,readonly,alpacajs,Forms,Readonly,Alpacajs,我正在使用羊驼表格显示一些信息: $("#object_details").alpaca({ "schema": map[obj_type], "data": JSON.stringify(json_data["content"]), "options": { "label": "some label" } }) 所以我定义了一些JSON模式: json_schema = { "title": "Host", "e

我正在使用羊驼表格显示一些信息:

$("#object_details").alpaca({
    "schema": map[obj_type],
    "data": JSON.stringify(json_data["content"]),
    "options": {
        "label": "some label"
    }
})
所以我定义了一些JSON模式:

json_schema = {
        "title": "Host",
        "en_description": "Host object",
        "type": "object",
        "properties": {
            "addr": {
                "en_description": "IP addresses",
                "title":"Host addresses",
                "type": "object",
                "properties": {
                    "ipv4": {
                        "en_description": "Host IPv4 address",
                        "title":"IPv4 address",
                        "type": "string",
                        "format": "ipv4",
                        "readonly":True
                    },
                    "ipv6" : {
                        "type": "string"
                    }
           }
}
正如你们所见,我在只读模式下有一些字段,在编辑模式下有一些字段。 我想将修改后的字段设置为只读。例如,在这里,如果修改ipv6字段,一旦发送表单,ipv6字段将变为只读


这可能吗?

是的,您可以在提交表单后将只读选项设置为true,如下所示:

field.options.readonly = true;
field.refresh();

我希望这就是你想要的,如果你还需要别的东西,请告诉我。我很乐意帮助您。

谢谢您的回答,但这行不通。好吧,这很有效,但这不是我期望的(实际上,这将使字段成为只读,但不会将其保存为只读,我的意思是,如果我刷新页面,字段将不再是只读的!我需要的是字段永远保持只读,但仅限于此数据集,如果我加载另一个具有相同JSON模式的数据集,字段将不会是只读的!我希望我的解释足够清楚!为此,您应该在提交表单后将数据保存到DB中,然后在初始化羊驼表单之前,您应该检索这些数据并将设置为表单,然后使用postRender函数将readonly值更改为true(如果字段中有DB中的数据)。对于延迟,非常感谢您!我终于完成了t、 正是使用你的方法。我在json中添加了一个字段,其中包含要设置为“只读”的不同字段。在我表单的每个字段上,我都有一个“可观察的”当数据被修改时会触发,并将字段的路径放在我的json中。然后我将其保存到我的DB中。当我必须显示表单时,我使用postRender回调遍历包含只读字段的json字段,并将相应字段放在readOnly上!谢谢!