Как выбрать опцию в контроллере, используя форму схемы angular?

#angularjs #angular-schema-form

#angularjs #angular-schema-form

Вопрос:

Я просто хочу использовать код в контроллере для выбора опции в форме схемы Angular.

В 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
  

Ответ №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"};
  

Вот плунжер с рабочим кодом.

Пример плунжера

Комментарии:

1. Большое спасибо. Но я заставил его работать после внесения внесенных вами изменений.