UNPKG

wux-weapp

Version:

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

1 lines 2.82 kB
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/libs/classNames")),_styleToCssString=_interopRequireDefault(require("../helpers/libs/styleToCssString")),_safeAreaBehavior=require("../helpers/mixins/safeAreaBehavior");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,a)}return r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(r,!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}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)({relations:{"../tabbar-item/index":{type:"child",observer:function(){this.callDebounceFn(this.updated)}}},properties:_objectSpread({prefixCls:{type:String,value:"wux-tabbar"},defaultCurrent:{type:String,value:""},current:{type:String,value:""},controlled:{type:Boolean,value:!1},theme:{type:String,value:"balanced"},backgroundColor:{type:String,value:"#fff"},position:{type:String,value:""}},_safeAreaBehavior.safeAreaProps),data:{tabbarStyle:"",activeKey:"",keys:[]},computed:{classes:["prefixCls, position",function(e,t){return{wrap:(0,_classNames2.default)(e,_defineProperty({},"".concat(e,"--").concat(t),t)),tabbar:"".concat(e,"-wrap")}}]},observers:{current:function(e){this.data.controlled&&this.updated(e)},backgroundColor:function(e){this.updateStyle(e)}},methods:{updated:function(e){var t=0<arguments.length&&void 0!==e?e:this.data.activeKey;this.data.activeKey!==t&&this.setData({activeKey:t}),this.changeCurrent(t)},changeCurrent:function(n){var i=this,o=this.getRelationsByName("../tabbar-item/index");0<o.length&&o.forEach(function(e,t){var r=e.data.key||String(t),a=r===n;e.changeCurrent(a,r,i.data.theme,o.length)}),this.data.keys.length!==o.length&&this.setData({keys:o.map(function(e){return e.data})})},emitEvent:function(e){this.triggerEvent("change",{key:e,keys:this.data.keys})},setActiveKey:function(e){this.data.controlled||this.updated(e),this.emitEvent(e)},updateStyle:function(e){var t=(0,_styleToCssString.default)({backgroundColor:e});t!==this.data.tabbarStyle&&this.setData({tabbarStyle:t})}},ready:function(){var e=this.data,t=e.defaultCurrent,r=e.current,a=e.controlled,n=e.backgroundColor,i=a?r:t;this.updated(i),this.updateStyle(n)}});