3

我想构建一个(a 的部分)表单,它产生以下输出:

{
  ...
  offers: {
     context: "http://schema.org",
     minPrice: 3
  }
  ...
}

问题是,context应该始终存在 - 用户可以操作的唯一字段是minPrice. 立即,一个带有值的隐藏字段浮现在脑海中。所以这里是模式定义:

$scope.schema = {
  ...
  offers: {
    type: 'object',
    properties: {
      minPrice: {
        type: 'number'
      }
    }
  }
  ...
};

这里是表单定义:

$scope.form = [
  ...
  {
    key: 'offers',
    type: 'fieldset',
    items: [
      {
        key: 'offers.minPrice',
        type: 'number'
      },
      {
        key: 'offers.context',
        type: 'hidden',
        default: 'http://schema.org'
      }
    ]
  }
  ...
];

但是,观察生成的模型很明显该条目context不存在。我已经成功地使用了type: 'hidden'anddefault和 a的组合tabarray,但是我无法正确使用 a object。我正在使用- 撰写本文时的最新0.8.13版本。angular-schema-forms

我将不胜感激任何见解,谢谢。

4

1 回答 1

0

您必须在该版本的架构中包含上下文及其默认值。

我希望您的问题与应该在 v1.0.0 的 alphas 中修复的错误有关

它应该与:

架构

{
  "type": "object",
  "properties": {
    "offers": {
      "type": "object",
      "properties": {
        "minPrice": {
          "type": "number"
        },
        "context": {
          "type": "string",
          "default": "http://schema.org"
        }
      }
    }
  }
}

形式

[
  {
    "type": "fieldset",
    "items": [
      {
        "key": "offers.minPrice",
        "type":"number"
      },
      {
        "key": "offers.context",
        "type": "hidden",
        "notitle": true
      }
    ]
  }
]
于 2017-06-06T04:22:57.660 回答