首页 > 解决方案 > 手动修改后的Alpaca ReadOnly

问题描述

我正在使用 Alpaca 表单来显示一些信息:

$("#object_details").alpaca({
    "schema": map[obj_type],
    "data": JSON.stringify(json_data["content"]),
    "options": {
        "label": "some label"
    }
})

所以我定义了一些 JSON Schema:

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"
                    }
           }
}

如您所见,我在 ReadOnly 上获得了一些字段,而在编辑模式下获得了其他一些字段。我想让一个修改字段变为只读。例如,在这里,如果我修改了 ipv6 字段,一旦我发送我的表单,ipv6 字段将变为只读。

这甚至可能吗?

标签: formsreadonlyalpacajs

解决方案


是的,您可以通过在提交表单后将只读选项设置为 true 来执行此操作,如下所示:

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

这是一个可行的小提琴。我希望这是您正在寻找的东西,如果您需要其他东西,请告诉我。我很乐意帮助你。


推荐阅读