【问题标题】:Material Form Controls invisible in Angular AppAngular App 中不可见的材质表单控件
【发布时间】:2018-12-23 04:46:51
【问题描述】:

我刚开始学习 Angular 6,我正在尝试实现一个简单的表单作为测试。 我的问题是:表单控件是不可见的,我们看不到它们,但是如果我单击正确的位置,我可以看到元素。

这里是一些屏幕:

主屏幕:

点击元素:

代码没什么花哨的,我有一个组件 FormTestComponent,我创建了一个模块 (MaterialModule),其中包含我需要的所有材料模块。我在控制台中没有错误。

所有文件都在这个 git repo 上可用:

https://github.com/Shyrro/NewTry/tree/master/ClientApp/src/app

我错过了什么吗?

【问题讨论】:

  • 您使用的主题是为深色背景而设计的。输入下方的线实际上是白色的,这就是为什么在白色背景下看不到它的原因。您是否在某处手动将背景设置为白色?你总是可以使用不同的主题,比如 indigo-pink.css
  • @user184994 谢谢,通过更改主题,我能够看到元素。奇怪的是,我没有在其他任何地方将背景设置为白色。谢谢。
  • 另一个选项是将 mat-app-background 类添加到 body 元素,这将应用深色背景

标签: angular typescript angular-material material-design angular6


【解决方案1】:

在 style.scss 中包含 @import "~@angular/material/prebuilt-themes/indigo-pink.css";

主题单独有效,但这些是一些不错的补充:

添加FormsModuleReactiveFormsModule

import { FormsModule, ReactiveFormsModule } from '@angular/forms';


@NgModule({
  ...
  imports: [
            FormsModule,
            ReactiveFormsModule],
  ...
})
export class AppModule { }

HTML:

 <form [formGroup]="basicForm" class="example-form">
      <mat-form-field>
        <input matInput formControlName="test" placeholder="Just a test">
      </mat-form-field>
      <mat-form-field>
        <mat-select formControlName="select" placeholder="Select">
          <mat-option value="option">Option</mat-option>
        </mat-select>
      </mat-form-field>
    </form>

TS:

import { Component, OnInit } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';

@Component({
  selector: 'app-form-test',
  templateUrl: './form-test.component.html',
  styleUrls: ['./form-test.component.scss']
})
export class FormTestComponent implements OnInit {
  basicForm: FormGroup;


  constructor(private fb: FormBuilder) { }

  createForm(){
   this.basicForm = this.fb.group({
      test: '',
      select: ''
   })
  }

  ngOnInit() {
    this.createForm();
  }

}

【讨论】:

  • 我已经有了浏览器动画模块,所有需要的模块都在文件material.module.ts中。无论如何,谢谢,问题是主题!
  • 如果有帮助,请接受解决方案,以便其他人可以轻松找到,谢谢
  • 我会的,我只是在测试其他东西,但表单组似乎不起作用。我有错误:“formGroup”不是表单的已知属性。
  • 从 '@angular/forms' 导入 { FormsModule, ReactiveFormsModule };添加进口 []
  • 是的,谢谢,刚刚在同一场合更新了帖子!
猜你喜欢
  • 2017-06-12
  • 1970-01-01
  • 1970-01-01
  • 2018-07-06
  • 2021-10-03
  • 2021-06-07
  • 2018-06-17
  • 1970-01-01
  • 2018-09-02
相关资源
最近更新 更多