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;
}
我正在研究 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;
}