|
|
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(' ') } } }
|