代码报错:名称为'piscina'的表单控件无值访问器排查
排查Angular中“No value accessor for form control with name: 'piscina'”错误
问题核心原因
这个错误是因为Angular无法识别<p-inputSwitch>组件作为表单控件的能力,大概率是模块导入缺失或表单依赖未配置导致。
解决步骤
1. 导入PrimeNG InputSwitch模块
PrimeNG的<p-inputSwitch>是独立组件,必须在当前组件所属的模块(业务模块或AppModule)中导入对应模块:
import { InputSwitchModule } from 'primeng/inputswitch'; @NgModule({ imports: [ // 其他已导入模块 InputSwitchModule ] }) export class YourTargetModule { }
2. 确保表单模块已导入
使用[(ngModel)]双向绑定需要依赖FormsModule,若用响应式表单则需导入ReactiveFormsModule,在模块中添加:
import { FormsModule } from '@angular/forms'; @NgModule({ imports: [ // 其他已导入模块 FormsModule ] }) export class YourTargetModule { }
3. 优化属性初始化(可选)
避免piscina初始值为undefined,可在类定义中设置默认布尔值:
export class ParametroPesquisaImovel { piscina: boolean = false; ... }
内容的提问来源于stack exchange,提问作者Diego Alves
相关产品推荐
相关产品推荐

