UNPKG

wux-weapp

Version:

一套组件化、可复用、易扩展的微信小程序 UI 组件库

1 lines 2.19 kB
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/libs/classNames")),_styleToCssString=_interopRequireDefault(require("../helpers/libs/styleToCssString")),_useDOM=require("../helpers/hooks/useDOM");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _iterableToArrayLimit(e,t){var r=[],a=!0,n=!1,i=void 0;try{for(var s,l=e[Symbol.iterator]();!(a=(s=l.next()).done)&&(r.push(s.value),!t||r.length!==t);a=!0);}catch(e){n=!0,i=e}finally{try{a||null==l.return||l.return()}finally{if(n)throw i}}return r}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-avatar"},shape:{type:String,value:"circle"},size:{type:String,value:"default"},src:{type:String,value:""},bodyStyle:{type:[String,Object],value:"",observer:function(e){this.setData({extStyle:(0,_styleToCssString.default)(e)})}},scale:{type:Boolean,value:!1}},data:{extStyle:"",childrenStyle:""},computed:{classes:["prefixCls, shape, size, src",function(e,t,r,a){var n;return{wrap:(0,_classNames2.default)(e,(_defineProperty(n={},"".concat(e,"--").concat(t),t),_defineProperty(n,"".concat(e,"--").concat(r),r),_defineProperty(n,"".concat(e,"--thumb"),a),n)),string:"".concat(e,"__string")}}]},methods:{setScale:function(){var s=this,e=this.data.prefixCls;(0,_useDOM.useRect)([".".concat(e),".".concat(e,"__string")],this).then(function(e){var t=_slicedToArray(e,2),r=t[0],a=t[1],n=r.width-8<a.width?(r.width-8)/a.width:1,i=1!=n?(0,_styleToCssString.default)({position:"absolute",display:"inline-block",transform:"scale(".concat(n,")"),left:"calc(50% - ".concat(Math.round(a.width/2),"px)")}):"";s.setData({childrenStyle:i})})}},ready:function(){!this.data.src&&this.data.scale&&this.setScale()}});