javascript - 用数组填充下拉框时遇到问题

标签 javascript html angular mean-stack

我有以下数组:

testArray=[1,2,3,4]

以及以下 HTML 代码:

      <div >
        <select>
        <option *ngFor="let obj of testArray"
               name="mission"
               formControlName="mission"
               (click)="onMissionClick(mission)"
                [value]="obj"
               >
          {{obj}}

        </option>
        </select>
    </div>

输出是一个下拉列表,仅包含 testArray 的第一个拖曳值: 1 、 2 。然后我收到以下错误:

BasicInfoDPComponent.html:39 ERROR Error: No value accessor for form control with name: 'mission'
    at _throwError (forms.js:1591)
    at setUpControl (forms.js:1501)
    at FormGroupDirective.push../node_modules/@angular/forms/fesm5/forms.js.FormGroupDirective.addControl (forms.js:4037)
    at FormControlName.push../node_modules/@angular/forms/fesm5/forms.js.FormControlName._setUpControl (forms.js:4542)
    at FormControlName.push../node_modules/@angular/forms/fesm5/forms.js.FormControlName.ngOnChanges (forms.js:4492)
    at checkAndUpdateDirectiveInline (core.js:8941)
    at checkAndUpdateNodeInline (core.js:10209)
    at checkAndUpdateNode (core.js:10171)
    at debugCheckAndUpdateNode (core.js:10804)
    at debugCheckDirectivesFn (core.js:10764)

注意:正如您可能注意到的那样,我需要将下拉列表放入表单中,不符合表单效果很好。

最佳答案

nameformControlName移动到select元素。这是实际的输入:

<select  name="mission"
         formControlName="mission">
    ...
</select>

关于javascript - 用数组填充下拉框时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51617181/

相关文章:

angular - 访问 TemplateRef 在 Angular2 中给出一个空的注释节点

javascript - 单击时侧边栏菜单不会折叠

javascript - 如何将正则表达式分配给变量以供以后在字符串上使用?

html - 仅使用 CSS,无限时间循环播放 30 张图像,创造出燃烧的火焰效果

angular - 在 Chrome 打包应用程序中使用 Angular 2

angular - 无法加载 Angular 生成的网页(ng build --prod)

javascript - 如何使用模态输入中的 document.getElementById?

javascript - 在 JavaScript 中从数组异步调用函数

javascript - "event"已弃用,应使用什么代替?

javascript - 工具提示不适用于文本区域 Bootstrap