1

对我来说,[(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 的使用上。

它适用于普通单选按钮,没有任何问题。

4

1 回答 1

0

您需要添加ButtonsModuleimports要使用它们的模块

@NgModule({
  imports: [ButtonsModule],
  declarations: [...],
  ...
})
export class MyModule {}
于 2016-09-27T09:57:36.800 回答