0

我只想在控制器中使用代码来选择Angular Schema Form中的选项。

我在 HTML 标记中有以下内容:

<div sf-schema=schema sf-form=form sf-model=formData></div>

现在,我想在控制器中执行此操作:

//controller.js

//This is not working
$scope.formData.select_1 = 4;
$scope.formData.select_2 = 3;

//Schema for the form
$scope.schema = 
    "select_1": {
        "type": "string",
        "enum": ["1", "2", "3", "4", "5", "6"]
    },
    "select_2": {
        "type": "string",
        "enum": ["1", "2", "3", "4", "5", "6"]
    }
$scope.form = //All the form properties here
4

1 回答 1

1

你的代码有很多问题。

架构是错误的。

$scope.schema = {
    "type": "object",
    "properties": {
            "select_1": {
                "type": "string",
                "enum": ["1", "2", "3", "4", "5"]
        },
            "select_2": {
                "type": "string",
                "enum": ["1", "2", "3", "4", "5"]
        }
    }
}

您将架构定义为字符串,但您将值设置为 int。

$scope.formData.select_1 = "4";
$scope.formData.select_2 = "3";

确保在设置值之前已定义模型对象 (formData)。

$scope.formData = {};

但是,您可以只使用上述值设置模型。

$scope.formData = {select_1: "4", select_2: "3"};

这是一个带有工作代码的 Plunker。

Pluner 示例

于 2016-11-18T16:21:31.937 回答