2017-01-31 3 views
3

Я хочу построить (сечение) формы, которая производит следующий вывод:угловой схемы-форма по умолчанию, скрытые значения

{ 
    ... 
    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' и default с tabarray, но я просто не могу понять это с помощью object. Я использую версию 0.8.13 от angular-schema-forms - самую последнюю на момент написания этой статьи.

Буду признателен за любые идеи, спасибо.

ответ

0

Вы должны включить контекст и значение по умолчанию в схему этой версии.

Я ожидаю, что ваша проблема связана с ошибкой, которая должна исправлены в альфы для v1.0.0

Он должен работать с:

схемы

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