src/app/pipe/props.pipe.ts
Name | props |
Public transform | ||||||
transform(props: any)
|
||||||
Defined in src/app/pipe/props.pipe.ts:9
|
||||||
Parameters :
Returns :
any
|
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'props',
})
export class PropsPipe implements PipeTransform {
// 解析组件属性到ngClass
public transform(props: any): any {
const ngClass: any = {};
// 通用属性:字体大小
if (props.size) {
for (let i = 8; i <= 40; i++) {
if (props.size === i) { ngClass['size' + i] = true; }
}
}
// 通用属性:对其方式
ngClass.center = props.headStyle === 'center';
ngClass['left-align'] = props.headStyle === 'left-align';
ngClass['right-align'] = props.headStyle === 'right-align';
// 通用属性:指定设备隐藏
ngClass['xs-hide'] = props.hideCls === 'xs-hide';
ngClass['sm-hide md-hide lg-hide'] = props.hideCls === 'sm-hide md-hide lg-hide';
// 通用属性:行间距为0(上下外边距均为0)
ngClass['icht-mb0'] = props.marginSetting === 'marginZero';
// 通用属性:上(内)边距
if (props.paddingTop) {
for (let i = 0; i <= 10; i++) {
if (props.paddingTop === i) { ngClass['icht-pt' + i] = true; }
}
}
// 通用属性:下(内)边距
if (props.paddingBottom) {
for (let i = 0; i <= 10; i++) {
if (props.paddingBottom === i) { ngClass['icht-pb' + i] = true; }
}
}
// 通用属性:背景图
ngClass['icht-bg-gray'] = props.bg === 'bgGray bgGrayMin';
ngClass['icht-bg-gray-max'] = props.bg === 'bgGray';
ngClass['icht-bg-gray-max-arrow'] = props.bg === 'bgGray bgGrayDown';
// 标题:前置图标
ngClass['hicon-light'] = props.icon === 'hicon-light';
return ngClass;
}
}