angular 服装 css class 没有出现在视野中

angular custom css class is not appening in view

我正在研究 angular formio,因为我使用的是自定义 css class,名称 CustomCSS 我在 [=43= 中添加了相同的内容] 文件如下

这里是stackblitz

app.component.scss

.CustomCSS {
    margin: auto;
  width: 50%;
  border: 3px solid rgb(1, 248, 1);
  padding: 10px;
    background-color: coral;
  }

app.component.ts

    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.scss']
    })
    export class AppComponent implements OnInit {

ngOnInit() {
    debugger;
    this.triggerRefresh = new EventEmitter();
    this.http.get('http://....')
    .subscribe(
      response  => {
        this.form = response.json();// this is my html script from DB
      },
        err => {console.error(err)}
    ); 

   }
}

app.component.html

<formio [refresh]="triggerRefresh" [form]="form" [submission]="submission" (submit)="onSubmit($event)"></formio>

我的Htmlthis.form脚本如下

{
   "components":[
      {
         "label":"City",
         "widget":"choicesjs",
         "customClass":"CustomCSS",
         "tableView":true,
         "data":{
            "values":[
               {
                  "label":"abc",
                  "value":"abc"
               ]
         },
         "selectThreshold":0.3,
         "calculateServer":false,
         "validate":{
            "required":true
         },
         "key":"city",
         "type":"select",
         "indexeddb":{
            "filter":{

            }
         },
         "input":true
      },
      {
         "type":"button",
         "label":"Submit",
         "key":"submit",
         "disableOnInvalid":true,
         "input":true,
         "tableView":false
      }
   ],
   "id":4
}

在我的脚本中,css class 名称也可用,但它没有附加在视图中。

使其在您的组件中工作的一种可能方法是修改该组件的样式封装。

import { Component, OnInit, ViewEncapsulation } from '@angular/core'; // <-- add ViewEncapsulation 

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ],
  encapsulation: ViewEncapsulation.None // <-- add this line
})

有关 encapsulation 的更多信息。

话虽这么说。

我仍然建议使用全局样式并实施 css 选择器来定位 formio 生成的 html 元素,如您的示例所示:

#app formio .control-label {
  font-weight: bold;
}