You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
228 lines
6.7 KiB
228 lines
6.7 KiB
export default { |
|
props: { |
|
// flex排列方式 |
|
flexDirection: { |
|
type: String, |
|
default: '' |
|
}, |
|
// flex-direction的简写 |
|
fd: { |
|
type: String, |
|
default: '' |
|
}, |
|
// 展示类型 |
|
display: { |
|
type: String, |
|
default: '' |
|
}, |
|
// display简写 |
|
d: { |
|
type: String, |
|
default: '' |
|
}, |
|
// 主轴排列方式 |
|
justifyContent: { |
|
type: String, |
|
default: '' |
|
}, |
|
// justifyContent的简写 |
|
jc: { |
|
type: String, |
|
default: '' |
|
}, |
|
// 纵轴排列方式 |
|
alignItems: { |
|
type: String, |
|
default: '' |
|
}, |
|
// align-items的简写 |
|
ai: { |
|
type: String, |
|
default: '' |
|
}, |
|
color: { |
|
type: String, |
|
default: '' |
|
}, |
|
// color简写 |
|
c: { |
|
type: String, |
|
default: '' |
|
}, |
|
// 字体大小 |
|
fontSize: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// font-size简写 |
|
fs: { |
|
type: [String, Number], |
|
default: '' |
|
}, |
|
margin: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// margin简写 |
|
m: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// margin-top |
|
marginTop: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// margin-top简写 |
|
mt: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// margin-right |
|
marginRight: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// margin-right简写 |
|
mr: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// margin-bottom |
|
marginBottom: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// margin-bottom简写 |
|
mb: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// margin-left |
|
marginLeft: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// margin-left简写 |
|
ml: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// padding-left |
|
paddingLeft: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// padding-left简写 |
|
pl: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// padding-top |
|
paddingTop: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// padding-top简写 |
|
pt: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// padding-right |
|
paddingRight: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// padding-right简写 |
|
pr: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// padding-bottom |
|
paddingBottom: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// padding-bottom简写 |
|
pb: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// border-radius |
|
borderRadius: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// border-radius简写 |
|
radius: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
// transform |
|
transform: { |
|
type: String, |
|
default: '' |
|
}, |
|
// 定位 |
|
position: { |
|
type: String, |
|
default: '' |
|
}, |
|
// position简写 |
|
pos: { |
|
type: String, |
|
default: '' |
|
}, |
|
// 宽度 |
|
width: { |
|
type: [String, Number], |
|
default: null |
|
}, |
|
// width简写 |
|
w: { |
|
type: [String, Number], |
|
default: null |
|
}, |
|
// 高度 |
|
height: { |
|
type: [String, Number], |
|
default: null |
|
}, |
|
// height简写 |
|
h: { |
|
type: [String, Number], |
|
default: null |
|
}, |
|
top: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
right: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
bottom: { |
|
type: [String, Number], |
|
default: 0 |
|
}, |
|
left: { |
|
type: [String, Number], |
|
default: 0 |
|
} |
|
}, |
|
computed: { |
|
viewStyle() { |
|
const style = {} |
|
const addStyle = uni.$u.addStyle(this.width || this.w) && (style.width = addStyle(this.width || this.w))(this.height || this.h) && (style.height = addStyle(this.height || this.h))(this.margin || this.m) && (style.margin = addStyle(this.margin || this.m))(this.marginTop || this.mt) && (style.marginTop = addStyle(this.marginTop || this.mt))(this.marginRight || this.mr) && (style.marginRight = addStyle(this.marginRight || this.mr))(this.marginBottom || this.mb) && (style.marginBottom = addStyle(this.marginBottom || this.mb))(this.marginLeft || this.ml) && (style.marginLeft = addStyle(this.marginLeft || this.ml))(this.padding || this.p) && (style.padding = addStyle(this.padding || this.p))(this.paddingTop || this.pt) && (style.paddingTop = addStyle(this.paddingTop || this.pt))(this.paddingRight || this.pr) && (style.paddingRight = addStyle(this.paddingRight || this.pr))(this.paddingBottom || this.pb) && (style.paddingBottom = addStyle(this.paddingBottom || this.pb))(this.paddingLeft || this.pl) && (style.paddingLeft = addStyle(this.paddingLeft || this.pl))(this.color || this.c) && (style.color = this.color || this.c)(this.fontSize || this.fs) && (style.fontSize = this.fontSize || this.fs)(this.borderRadius || this.radius) && (style.borderRadius = this.borderRadius || this.radius)(this.position || this.pos) && (this.position = this.position || this.pos)(this.flexDirection || this.fd) && (this.flexDirection = this.flexDirection || this.fd)(this.justifyContent || jc) && (this.justifyContent = this.justifyContent || jc)(this.alignItems || ai) && (this.alignItems = this.alignItems || ai) |
|
|
|
return uni.$u.deepMerge(style, uni.$u.addStyle(this.customStyle)) |
|
} |
|
}, |
|
methods: { |
|
// 获取margin或者padding的单位,比如padding: 0 20转为padding: 0 20px |
|
getUnit(unit = '') { |
|
// 取出两端空格,分隔成数组,再对数组的每个元素添加单位,最后再合并成字符串 |
|
return uni.$u.trim(unit).split(' ').map((item) => uni.$u.addUnit(item)).join(' ') |
|
} |
|
} |
|
}
|
|
|