forked from angelo/web-retail-h5
				
			
		
			
	
	
		
			229 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			229 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
|  | 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(' ') | |||
|  |         } | |||
|  |     } | |||
|  | } |