mat-form-field bir MatFormFieldControl içermelidir


187

Şirketimizde kendi form-alan-Bileşenlerimizi oluşturmaya çalışıyoruz. Malzeme tasarımının Bileşenlerini şu şekilde sarmaya çalışıyoruz:

alan:

<mat-form-field>
    <ng-content></ng-content>
    <mat-hint align="start"><strong>{{hint}}</strong> </mat-hint>
    <mat-hint align="end">{{message.value.length}} / 256</mat-hint>
    <mat-error>This field is required</mat-error>
</mat-form-field>

Metin kutusu:

<field hint="hint">
    <input matInput 
    [placeholder]="placeholder" 
    [value]="value"
    (change)="onChange($event)" 
    (keydown)="onKeydown($event)" 
    (keyup)="onKeyup($event)" 
    (keypress)="onKeypress($event)">
</field>

Kullanımı:

<textbox value="test" hint="my hint"></textbox>

Bu yaklaşık olarak şu sonuca varır:

    <textbox  placeholder="Personnummer/samordningsnummer" value="" ng-reflect-placeholder="Personnummer/samordningsnummer">
       <field>
          <mat-form-field class="mat-input-container mat-form-field>
             <div class="mat-input-wrapper mat-form-field-wrapper">
                <div class="mat-input-flex mat-form-field-flex">
                   <div class="mat-input-infix mat-form-field-infix">
                      <input _ngcontent-c4="" class="mat-input-element mat-form-field-autofill-control" matinput="" ng-reflect-placeholder="Personnummer/samordningsnummer" ng-reflect-value="" id="mat-input-2" placeholder="Personnummer/samordningsnummer" aria-invalid="false">
                      <span class="mat-input-placeholder-wrapper mat-form-field-placeholder-wrapper"></span>
                   </div>
                </div>
                <div class="mat-input-underline mat-form-field-underline">
                   <span class="mat-input-ripple mat-form-field-ripple"></span>
                </div>
                <div class="mat-input-subscript-wrapper mat-form-field-subscript-wrapper"></div>
             </div>
          </mat-form-field>
       </field>
    </textbox>

Ama ben "mat-form-field bir MatFormFieldControl içermelidir" konsolunda alıyorum . Bu doğrudan bir matInput-alanı içermeyen mat-form-alanı ile ilgili sanırım. Ama onu içeriyor, sadece ng-içerik projeksiyonu ile.

İşte bir yıldırım: https://stackblitz.com/edit/angular-xpvwzf


3
Sorunu hiç çözdünüz mü? Aynı problemi yaşıyorum. Cevaplar ilgili değil.
numsu

Hayır, ne yazık ki hayır:. Bunu buldum: github.com/angular/material2/issues/9411 ve bunu doğru anlarsam bu desteklenmeyen atm'dir .
Viktor Eriksson

Tamam .. Teşekkürler, sadece tüm ipuçlarını ve onayları tamamlayan ve bunu giriş öğesinin altına yerleştiren bir bileşen yaptım.
numsu

@ViktorEriksson Cevabım sizin için yararlı olduysa, kabul etmek ister misiniz?
darksoulsong

1
Üzgünüm ama bu işe yaramadı, sorumun bu cevapla çok az ilgisi var.
Viktor Eriksson

Yanıtlar:


28

Ne yazık ki, mat-form alanına içerik projeksiyonu henüz desteklenmemektedir. Bu konuda en son haberleri almak için lütfen aşağıdaki github sorununu takip edin .

Şimdiye kadar sizin için tek çözüm, içeriğinizi doğrudan mat-form-field bileşenine yerleştirmek veya bir MatFormFieldControl sınıfı uygulamak ve böylece özel bir form alanı bileşeni oluşturmaktır.


132
Bu soruya bir hata mesajı göndererek rastladım. Aşağıdaki cevap , MatInputModuleithal edilmesi gerektiğini belirten sorunumu çözdü. Bu kabul edilen cevap olduğu için, bağlantıyı buraya ekliyorum, başkalarının zamanından tasarruf etmesini umuyorum.
CGFoX

4
Benim sorunum ' FormsModule ' ithalat ihmal vardı . Umarım bu birine yardımcı olur.
lerenau

@CGFoX Kesinlikle haklısın ahbap !! MatInputModule'u içe aktarmak sorunumu çözdü !!
Rafique Muhammed

5
Ayrıca içeride <mat-form-field>emin olmak zorunda etiketinin doğru eklenen matInputher on niteliğini inputetiketi da matNativeControlher on niteliğini<select>
svassr

1
@CGFoX Keşke bu bilgileri ve daha iyi örnekleri ile belgeleri güncellemek isterdim ...

410

Bu sorunu yaşadım. Ben ithal MatFormFieldModulebenim ana modülüne ama eklemeyi unuttuğu MatInputModuleiçin importsşöyle, dizideki:

import { MatFormFieldModule, MatInputModule } from '@angular/material';

@NgModule({
    imports: [
        MatFormFieldModule,
        MatInputModule
    ]
})
export class AppModule { }

Umarım yardımcı olur.

Daha fazla bilgi burada .


9
Ayrıca içeride <mat-form-field>emin olmak zorunda etiketinin doğru eklenen matInputher on niteliğini inputetiketi da matNativeControlher on niteliği <select>etiketi
svassr

Teşekkür ederim. Sorunumu çözdüm. Açısal Malzemede yeniyim. Açısal Malzemeyi kullanmak için birçok modül almam gerekiyor gibi görünüyor. Örneğin, düğmeleri kullanmak için "MatButtonModule", "MatCheckboxModule", onay kutularını kullanmak için "MatFormFieldModule", formları kullanmak için "MatInputModule" içe aktarmamız gerekiyor ... Girdiyi kullanmak gerçekten yorucu. Sadece bir veya iki kez içe aktarmanın bir yolu var mı ve daha sonra endişelenmeden Açısal Malzemeyi kullanmaya başlayabilir miyiz?
William Hou

1
ÖNEMLİ: Sipariş önemlidir!
Becario Senior

benim için çalışmıyor, ben sadece bu örneği kullandım: material.angular.io/components/stepper/overview
tatsu

Bu benim için çalıştı import { MatInputModule } from '@angular/material/input':
Jared Whipple

85

Çözüm 1 - MatInputModule'ü içe aktarın

MatInputModulemodülün içine içe aktarma yaniapp.module.ts

Açısal 9+

import { MatInputModule } from '@angular/material/input';

Açısal 9'un Altında

import { MatInputModule } from '@angular/material';

@NgModule({
  imports: [
     // .......
     MatInputModule
     // .......
  ]
})
export class AppModule { }

Çözüm 2 - Yazım Hatalı

Eklediğinizden emin olun matInputve büyük / küçük harfe duyarlıdır.

<input matInput type="text" />

2
Ahh bu beni delirtiyordu. Sebebi benim için çalıştı. Şimdi açık gibi görünse de bunun belgelerde belirtilmesi gerektiğini hissediyorum.
Feign

Giriş deyiminde "matInput" eksik olduğunda bu sorunla karşılaştım.
HadidAli

17

Buradaki resmi belgelerden alıntı :

Hata: mat-form-field bir MatFormFieldControl içermelidir

Bu hata, form alanınıza bir form alanı denetimi eklemediğinizde oluşur. Form alanınız yerel veya öğe içeriyorsa, ona matInput yönergesini eklediğinizden ve MatInputModule'u içe aktardığınızdan emin olun. Form alanı denetimi olarak işlev görebilen diğer bileşenler ve oluşturduğunuz özel form alanı denetimleri içerir.


14

Bu, bir mat-form-alanında uygun bir girdiniz varsa da olabilir , ancak ngIfüzerinde bir açıklık vardır. Örneğin:

<mat-form-field>
    <mat-chip-list *ngIf="!_dataLoading">
        <!-- other content here -->
    </mat-chip-list>
</mat-form-field>

Benim durumumda, mat-chip-listancak verileri yüklendikten sonra "görünmesi" gerekiyordu. Ancak, doğrulama gerçekleştirilir ve mat-form-fieldşikayetlerde

mat-form-field bir MatFormFieldControl içermelidir

Düzeltmek için kontrol orada olmalı, bu yüzden kullandım [hidden]:

<mat-form-field>
    <mat-chip-list [hidden]="_dataLoading">
        <!-- other content here -->
    </mat-chip-list>
</mat-form-field>

Alternatif bir çözüm öneren Mosta: move * ngIf for mat-form-field:

<mat-form-field *ngIf="!_dataLoading">
    <mat-chip-list >
        <!-- other content here -->
    </mat-chip-list>
</mat-form-field>

Benzer bir sorunum vardı, söylediklerinize benzer bir şeyle düzelttim. Sen benim oyum var!
Alex

3
Teşekkürler, gizli kullanmak yerine tüm mat-form-field etiketi üzerindeki ngIf koşulunu taşıyabilirsiniz
Mosta

9
import {MatInputModule} from '@angular/material/input';



@NgModule({
    imports: [
        MatInputModule
    ],
    exports: [
        MatInputModule
    ]
})

3
Stackoverflow'a hoş geldiniz. Soruları cevaplarken, lütfen kod snippet'inizin ne yaptığına ve OP'nin sorusunu neden çözdüğüne ilişkin biraz açıklama ekleyin. Daha fazla bilgi için burayı kontrol edin Nasıl
Yanıtlanır

6

Bu basit olabilir emin değilim ama aynı sorunu vardı, "mat-giriş" giriş alanında "matInput" değiştirmek sorunu çözdü. Senin durumunda "matinput" görüyorum ve bu benim app aynı hatayı atmasına neden oluyor.

<input _ngcontent-c4="" class="mat-input-element mat-form-field-autofill-control" matinput="" ng-reflect-placeholder="Personnummer/samordningsnummer" ng-reflect-value="" id="mat-input-2" placeholder="Personnummer/samordningsnummer" aria-invalid="false">

"Matinput"

resim açıklamasını buraya girin

"MatInput"

resim açıklamasını buraya girin


hmm emin değil, oluşturulan çıktı yapıştırdınız. Gerçek kodda zaten "textbox-section" görürseniz matInput olur. Sadece malzeme kullanırken işe başlamakta sorunum yok, projeksiyonla kendi bileşenimi yapmaya çalışırken çalışmayı durduruyor. Benim dalgıç benim atm sorunları var gibi görünüyor, umarım gün boyunca kendini düzeltir.
Viktor Eriksson

Oh, anlıyorum, benim hatam. Bu zaten uzun bir atıştı. Herkesin doğru eğim açısına sahip olup olmadığını görmek için takip edeceğim, bu konuyu merak ediyorum.
ReturnTable

2
Ben değişim unutmuş, benimle oldu mdInputiçin matInput.
Ebraheem Alrabee '

2
Açısal 5: matInputBunun yerine <input> etiketi özniteliği olmalıdır mat-input.
Stavm

6

Birisi yuvalama denedikten sonra kimse bu hata ile sıkışmış varsa <mat-checkbox>, iyi tezahürat olmak! Bir <mat-form-field>etiketin içinde çalışmaz .


6

Herkes aşağıdaki gibi bir <mat-radio-group>iç içe içmeye çalışıyorsanız <mat-form-field>, bu hatayı alırsınız

         <mat-form-field>
                <!-- <mat-label>Image Position</mat-label> -->
                <mat-radio-group aria-label="Image Position" [(ngModel)]="section.field_1">
                    <mat-radio-button value="left">Left</mat-radio-button>
                    <mat-radio-button value="right">Right</mat-radio-button>
                </mat-radio-group>
            </mat-form-field>

üst <mat-form-field>etiketleri kaldır


Bu sorunu yaşıyordum ve bu tür şeylerle bir işaret snippet'i vardı. mat-form-fieldBu sorunu kaldırmak benim için ortadan kalktı.
Andrew Gray

<mat-form-field>İçindeki radyo grubunu desteklemeyen bir neden var mı ? Bu sorunu da yaşıyordum ve sadece mat form alanı etiketlerini kaldırmayı düşünmedim çünkü pek çok malzeme UI formu örnekleri kullandığından bu yapılacak doğru şey gibi görünmüyordu <mat-form-field>. Formlar için çeşitli malzeme formu giriş modüllerine sahibim, açılan yanıtları ve diğer cevap referanslarının birçoğu gibi benim app.module.ts dosyasında tanımlanan radyo gruplarını seçtim.
Alex

Ben inanamıyorum .... Çalışmak için her şeyi ve hiçbir şey denemek .... ve birkaç gün acı sonra ben bu kadar basit bir çözüm buldum ... teşekkür ederim dostum
Arter

4

Ben de bu sorunu vardı, ve <mat-select>benim şablonda MatSelectModule Modül içine aldığımda, öğe var, işe yarıyor, bilim yapmaz, ama stil size yardımcı olabilir umuyoruz.

import { MatSelectModule } from '@angular/material/select';

imports: [
    BrowserModule,
    BrowserAnimationsModule,
    MatSidenavModule,
    MatButtonModule,
    MatIconModule,
    MatToolbarModule,
    MatFormFieldModule,
    MatProgressSpinnerModule,
    MatInputModule,
    MatCardModule,
    MatSelectModule
],

<div class="example-container">
    <mat-form-field>
        <input matInput placeholder="Input">
    </mat-form-field>

    <mat-form-field>
        <textarea matInput placeholder="Textarea"></textarea>
    </mat-form-field>

    <mat-form-field>
        <mat-select placeholder="Select">
            <mat-option value="option">Option</mat-option>
        </mat-select>
    </mat-form-field>
</div>

Bu, mat-form-field kontrolünün bir mat-seçimin ne olduğunu anlamadığını modülü içe aktarmadan çalışır. İçe aktarıldığında, tüm bilgileri düzeltebilir ve bu nedenle şablonu başka bir hata olmadan ayrıştırabilir.
PeterS

3

Ne yazık ki, henüz SO puanları olmadığım için zaten iyi olan bazı cevaplar hakkında yorum yapamam, ancak, bileşeninizin ana modülüne içe aktardığınızdan emin olmanız gereken 3 anahtar modül var. doğrudan bileşeninize aktarmanız gerekir. Onları kısaca paylaşmak ve yaptıklarını vurgulamak istedim.

  1. MatInputModule
  2. MatFormFieldModule
  3. ReactiveFormsModule

İlk ikisi Açısal Malzeme içindir. Açısal Malzemeye yeni gelen birçok insan içgüdüsel olarak bunlardan biriyle karşılaşacak ve bir form oluşturmanın her ikisini de gerektirdiğinin farkında olmayacaktır.

Peki aralarındaki fark nedir?

MatFormFieldModule, Açısal Malzemenin sahip olduğu tüm farklı form alanlarını kapsar. Bu, genel olarak form alanları için daha üst düzey bir modüldür, oysa MatInputModule, seçim kutularının, radyo düğmelerinin vs. aksine, özellikle 'giriş' alan türleri içindir.

Yukarıdaki listedeki üçüncü madde Angular'ın Reaktif Formlar Modülü'dür. Reaktif Formlar Modülü, bir ton kaput altı Açısal aşktan sorumludur. Angular ile çalışacaksanız, Angular Docs'u okumak için biraz zaman ayırmanızı tavsiye ederim. Tüm cevaplarınız var. Uygulama oluşturmak nadiren formları İÇERMEZ ve çoğunlukla uygulamanız reaktif formları içerecektir. Bu nedenle, lütfen bu iki sayfayı okumak için zaman ayırın.

Açısal Belgeler: Reaktif Formlar

Açısal Belgeler: Reaktif Formlar Modülü

İlk doküman 'Reaktif Formlar', başlarken en güçlü silahınız olacak ve ikinci doktor, Açısal Reaktif Formların daha gelişmiş uygulamalarına geçtiğinizde en güçlü silahınız olacak.

Bunların, kullandığınız bileşene değil, doğrudan bileşeninizin modülüne aktarılması gerektiğini unutmayın. Doğru hatırlıyorsam, Açısal 2'de, ana uygulama modülümüzdeki tüm Açısal Malzeme modülleri kümesini içe aktardık ve ardından bileşenlerin her birinde doğrudan ihtiyacımız vardı. Mevcut yöntem çok daha verimli IMO'dur, çünkü sadece birkaç tanesini kullanırsak tüm Açısal Malzeme modüllerini içe aktarmamız garanti edilir.

Umarım bu, Açısal Malzeme ile bina formları hakkında biraz daha fazla bilgi sağlar.


3

Yukarıdaki ana kod yapısı / yapılandırma yanıtlarının tümü sorununuzu çözmezse, kontrol etmeniz gereken bir şey daha var: <input>etiketinizi bir şekilde geçersiz kılmadığınızdan emin olun .

Örneğin, kendiliğinden kapanan bir eğik çizgiden sonra bir özniteliği mat-form-field must contain a MatFormFieldControlyanlışlıkla koyduktan sonra aynı hata iletisini aldım ve bu da etkin bir şekilde geçersiz kıldı . Başka bir deyişle, bunu yaptım (giriş etiketi niteliklerinin sonuna bakın):required/<input/>

yanlış :

<input matInput type="text" name="linkUrl" [formControl]="listingForm.controls['linkUrl']" /required>

doğru :

<input matInput type="text" name="linkUrl" [formControl]="listingForm.controls['linkUrl']" required/>

Bu hatayı veya başka bir şeyi geçersiz kılmak için <input>yaparsanız, mat-form-field must contain a MatFormFieldControlhatayı alabilirsiniz . Her neyse, bu hata ayıklama yaparken aramak için sadece bir şey daha var.


3

Aynı hata, benim durumumda sahip olduğum tek öğeyle alandan bir hasır içinde bir mat slayt varsa oluşabilir

 <mat-form-field>
    <mat-slide-toggle [(ngModel)]="myvar">
       Some Text
     </mat-slide-toggle>
 </mat-form-field>

<mat-form-field> Basit çözüm içinde birkaç özniteliğiniz varsa , bu, slayt geçişini kök dizinine taşımak


1
Bu hayatımı kurtardı. Teşekkürler.
Paulo Pedroso

2

Bu kılavuzu izlemeyi deneyebilir ve kendi MatFormFieldControl'ünüzü uygulayabilir / sağlayabilirsiniz.


2

Yanlışlıkla matInput'u kaldırmıştım aynı hataya neden olan giriş alanından yönergesini .

Örneğin.

<mat-form-field>
   <input [readOnly]="readOnly" name="amount" formControlName="amount" placeholder="Amount">
</mat-form-field>

sabit kod

 <mat-form-field>
   <input matInput [readOnly]="readOnly" name="amount" formControlName="amount" placeholder="Amount">
</mat-form-field>

2

MatRadioModule, MatFormField içinde çalışmaz. dokümanlar demek

Bu hata, form alanınıza bir form alanı denetimi eklemediğinizde oluşur. Form alanınız yerel veya öğe içeriyorsa, ona matInput yönergesini eklediğinizden ve MatInputModule'u içe aktardığınızdan emin olun. Form alanı denetimi olarak işlev görebilen diğer bileşenler arasında <mat-select>, <mat-chip-list> ve oluşturduğunuz özel form alanı denetimleri bulunur.


2

Benim durumumda, "onChanges ()" için kapanış parantezimden biri giriş öğesinde kaçırıldı ve bu nedenle giriş öğesi görünüşte hiç oluşturulmadı:

<input mat-menu-item 
      matInput type="text" 
      [formControl]="myFormControl"
      (ngModelChange)="onChanged()>

2

Kısmi bir çözüm, malzeme formu alanını özel bir bileşene sarmak ve ControlValueAccessorarabirimi üzerine uygulamaktır . İçerik projeksiyonunun yanı sıra etki hemen hemen aynı.

Stackblitz ile ilgili tüm örneğe bakın .

İçeride FormControl( reaktif formlar ) kullandım, CustomInputComponentancak daha karmaşık bir form öğesine ihtiyacınız varsa FormGroupda FormArrayçalışmalıyım.

app.component.html

<form [formGroup]="form" (ngSubmit)="onSubmit()">

  <mat-form-field appearance="outline" floatLabel="always" color="primary">
    <mat-label>First name</mat-label>
    <input matInput placeholder="First name" formControlName="firstName" required>
    <mat-hint>Fill in first name.</mat-hint>
    <mat-error *ngIf="firstNameControl.invalid && (firstNameControl.dirty || firstNameControl.touched)">
      <span *ngIf="firstNameControl.hasError('required')">
        You must fill in the first name.
      </span>
    </mat-error>
  </mat-form-field>

  <custom-input
    formControlName="lastName"
    [errorMessages]="errorMessagesForCustomInput"
    [hint]="'Fill in last name.'"
    [label]="'Last name'"
    [isRequired]="true"
    [placeholder]="'Last name'"
    [validators]="validatorsForCustomInput">
  </custom-input>

  <button mat-flat-button
    color="primary"
    type="submit"
    [disabled]="form.invalid || form.pending">
    Submit
  </button>

</form>

özel input.component.html

<mat-form-field appearance="outline" floatLabel="always" color="primary">
  <mat-label>{{ label }}</mat-label>

  <input
    matInput
    [placeholder]="placeholder"
    [required]="isRequired"
    [formControl]="customControl"
    (blur)="onTouched()"
    (input)="onChange($event.target.value)">
  <mat-hint>{{ hint }}</mat-hint>

  <mat-error *ngIf="customControl.invalid && (customControl.dirty || customControl.touched)">
    <ng-container *ngFor="let error of errorMessages">
    <span *ngFor="let item of error | keyvalue">
      <span *ngIf="customControl.hasError(item.key)">
        {{ item.value }}
      </span>
    </span>
    </ng-container>
  </mat-error>
</mat-form-field>


2

MatInputModule uygulamasını app.module.ts dosyanıza almanız gerekir

{MatInputModule} 'i' @ açısal / malzeme 'den içe aktarın;

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { CustomerPage } from './components/customer/customer';
import { CustomerDetailsPage } from "./components/customer-details/customer-details";
import { CustomerManagementPageRoutingModule } from './customer-management-routing.module';
import { MatAutocompleteModule } from '@angular/material/autocomplete'
import { ReactiveFormsModule } from '@angular/forms';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule} from '@angular/material';

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    CustomerManagementPageRoutingModule,
    MatAutocompleteModule,
    MatInputModule,
    ReactiveFormsModule,
    MatFormFieldModule
  ],

2

Mat-form-field etiketinizin içine view = "fill" i ayarlayabilirsiniz, bu benim için işe yarar

<form class="example-form">
  <mat-form-field class="example-full-width" appearance="fill">
    <mat-label>Username Or Email</mat-label>
    <input matInput placeholder="Username Or Email" type="text">
  </mat-form-field>

  <mat-form-field class="example-full-width" appearance="fill">
    <mat-label>Password</mat-label>
    <input matInput placeholder="Password" type="password">
  </mat-form-field>
</form>

Bu benim sorunumu çözdü. appearence = "fill"Burada ne yaptığını açıklayabilir misiniz
IamGrooot

2

Açısal 9+ ... Malzeme 9+

3 hatanın aynı hataya neden olabileceğini fark ettim:

  1. App.module veya module.ts dosyasında MatFormFieldModule ve MatInputModule'u içe aktardığınızdan emin olun (bileşenlerin içe aktarıldığı modüllerde (iç içe modüller durumunda))
  2. Mat form alanına malzeme düğmeleri veya onay kutusu sardığınızda. Mat-form-field mat-form-field ile sarılabilen malzeme bileşenleri listesine bakın
  3. Etiketine matInput ekleyemediğinizde. ie <input matInput type = "number" step = "0.01" formControlName = "fiyat" />

1

Benim durumumda bunu değiştirdim:

<mat-form-field>
  <input type="email" placeholder="email" [(ngModel)]="data.email">
</mat-form-field>

buna:

<mat-form-field>
  <input matInput type="email" placeholder="email" [(ngModel)]="data.email">
</mat-form-field>

MatInput yönergesini giriş etiketine eklemek, bu hatayı benim için düzeltti.



1

component.ts dosyasındaki sağlayıcıları kullanma

@Component({
 selector: 'your-selector',
 templateUrl: 'template.html',
 styleUrls: ['style.css'],
 providers: [
 { provide: MatFormFieldControl, useExisting: FormFieldCustomControlExample }   
]
})


0

Not Gönder düğmesinin çevresinde "mat-form-field" etiketini kullandığımızda bir süre Hata oluşur:

<mat-form-field class="example-full-width">
   <button mat-raised-button type="submit" color="primary">  Login</button>
   </mat-form-field>

Bu etiketi gönder düğmesinin etrafında kullanmayın.


0

Aynı sorunum vardı

sorun basit

projenize yalnızca iki modül aktarmanız gerekir

MatFormFieldModule MatInputModule


0

aşağıdaki gibi yorumlanmış öğe nedeniyle aynı sorunu alıyordu.

<mat-form-field>
    <mat-label>Database</mat-label>
    <!-- <mat-select>
        <mat-option *ngFor="let q of queries" [value]="q.id">
            {{q.name}}
        </mat-option>
    </mat-select>  -->
</mat-form-field>

form alanı öğesi olmalı! (örn. girdi, metin alanı, seçim vb.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.