1

不太确定如何让这个列表呈现。我正在尝试创建一种从自定义对象创建的复选框形式。

这是我第一次使用angular-schema-form,但我在这里没有运气。

这是我的笨蛋

var app = angular.module('plunker', ['ngSanitize', 'schemaForm']);

app.controller('MainCtrl', function($scope) {
  $scope.schema = {
    "type": "object",
    "title": "Comment",
    "properties": {
      "comment": {
        "type": "checkboxes"
      }
    },
    "required": [
      "comment"
    ]
  };

  $scope.form = [
    {
      key: "comment",
      type: "checklist",
      titleMap: [{value: "1", name: "First"}]
    }
  ];

  $scope.model = {
    "name": "Jon Snow"
  };
});
4

1 回答 1

0

没有checkboxes字段类型。但是有两个选项可以定义一些复选框:

  1. boolean字段类型的使用
  2. array通过指定items数组来使用字段类型。

我更新了你的代码:

$scope.schema = {
  "type": "object",
  "title": "Comment",
  "properties": {
    "comment": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "title": "First Checkbox"
          },
          "second": {
            "type": "boolean",
            "title": "Second Checkbox"
          },
          "third": {
            "type":"boolean",
            "title": "Third Checkbox"
          }
        }
      }
    },
    "comment2": {
      "type": "boolean",
      "title": "Standalone Checkbox"
    }
  }
};

$scope.form = [
  "*",
  {
    type: "submit",
    title: "Save"
  }
];

$scope.model = {};

要默认选中某些复选框,您可以使用相应的属性名称,如下所示:

$scope.model = {
  comment2: true,
  comment: [{
    second: true
  }]
};

有关更多详细信息,请查看plunker

于 2016-08-04T12:26:35.910 回答