angular schema form使用空选项渲染选择框:value ="?"

时间:2016-03-20 10:15:42

标签: angularjs forms schema angular-schema-form

我正在使用角度模式来渲染表单。 我创建了自己的oneOf函数,它接受带有几个sachems的JSON并渲染选择框供他们选择。 选择框有选项,每个选项都选择另一个模式。 选择框正确渲染,但我总是得到第一个选项为空,值为"?"。 如何渲染没有空选项的选择框?

2016年6月4日: 我试图创建一个add on,它将创建一个选择框,它将选择第一个选项,但没有运气:

=

顺便提一句,这就像从角度架构表格中选择一样,但我添加了这个:

<div class="form-group {{form.htmlClass}} schema-form-select"
     ng-class="{'has-error': form.disableErrorState !== true && hasError(), 'has-success': form.disableSuccessState !== true && hasSuccess(), 'has-feedback': form.feedback !== false}">
  <label class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">
    {{form.title}}
  </label>
  <select 
          ng-model="$$value$$"
          ng-model-options="form.ngModelOptions"
          ng-disabled="form.readonly"
          sf-changed="form"
          class="form-control"
          ng-class="form.fieldHtmlClass"
          schema-validate="form"
          ng-options="item.value as item.name group by item.group for item in form.titleMap"
          name="{{form.key.slice(-1)[0]}}"
          ng-init="$$value$$ = form.titleMap[0]">
          <!--<option value="">{{form.defaultText}}</option>-->
  </select>
  <div class="help-block" sf-message="form.description"></div>
</div>

默认选项文本,直到我将解决此问题。 你觉得我错过了什么?

1 个答案:

答案 0 :(得分:1)

空选项存在,因为模型的默认值与任何选择选项都不对应。

要摆脱它,将模型初始化为控制器的valie默认值:

$scope.foo = $scope.fooOptions[0];

您还可以使用ng-init指令:

<select
ng-model="foo"
ng-options="option for option in fooOptions"
ng-init="foo=fooOptions[0]"></select>