【发布时间】:2016-09-27 17:57:36
【问题描述】:
对我来说,[(ngModel)]="foo" 不适用于用于重新设置默认 HTML5 表单控件样式的标签,更准确地说是单选按钮。目标是使用这些来更改值,例如使用默认输入无线电。我目前使用 ng2-bootstrap,但也尝试过 paper-kit (http://www.creative-tim.com/live/paper-kit)。
使用 ng2-bootstrap (https://valor-software.com/ng2-bootstrap/#/buttons) 的记录用法时
<label class="btn btn-primary" name="test" [(ngModel)]="foo" btnRadio="foo">foo</label>
我收到此错误:
core.umd.js:3468 Error: Uncaught (in promise): Error: No value accessor for form control with name: 'test'
at resolvePromise (zone.js:429)
at zone.js:465
at ZoneDelegate.invokeTask (zone.js:236)
at Object.onInvokeTask (core.umd.js:6233)
at ZoneDelegate.invokeTask (zone.js:235)
at Zone.runTask (zone.js:136)
at drainMicroTaskQueue (zone.js:368)
at XMLHttpRequest.ZoneTask.invoke (zone.js:308)
这可以使用标签中的ngDefaultControl 属性修复,但[(ngModel)] 仍会被忽略且不会传播。使用 paper-kit 也会出现同样的问题。
它适用于普通单选按钮,没有任何问题。
【问题讨论】:
-
您想根据某些模型更改标签样式?
-
不,我想使用标签作为输入来更改值,例如 valor-software.com/ng2-bootstrap/#/buttons@radios
标签: angular ng2-bootstrap angular2-ngmodel