0

我試圖創建一個就地可編輯的窗體,其控件一次應該在可編輯模式和僅查看模式之間切換,點擊外部按鈕(我不想要單擊要控制編輯模式的單個控件)。Angular:幫助就地編輯表格

我創建了這個StackBlitz,我收到一條錯誤消息說:No provider for NgControl。我不想將表單元素包裝在我期望創建的每個可編輯控件組件上。請幫我解決一下這個。

我打算控制是一樣的東西, <editable-control [mode]="formMode" type="text"></editable-control>

回答

2

您的自定義窗體組件實現了ControlValueAccessor接口,因此它需要NgControl提供商。您必須使用ReactiveFormsModule而不是FormsModule

所以,你必須從@angular/forms導入並將其添加到相應的NgModule的進口數組:

// ... 
import { ReactiveFormsModule } from '@angular/forms'; 

@NgModule({ 
    imports: [ 
    // ... 
    ReactiveFormsModule 
    ] 
}) 
// ... 

要使用你的自定義組件,您可以用formGroup指令一起使用。例如:

<form [formGroup]="myForm"> 
    <editable-control [mode]="formMode" type="text" formControlName="myText"> 
    </editable-control> 
</form> 
+0

讓我再檢查與... – karthikaruna

+0

如何規定的? – karthikaruna

+1

查看已更新的答案 – cyrix