我正在使用角度模式来渲染表单。 我创建了自己的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>
默认选项文本,直到我将解决此问题。 你觉得我错过了什么?
答案 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>