first commit
This commit is contained in:
1
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/props.js
vendored
Normal file
1
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/props.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";const e=require("../../libs/config/props.js"),t={props:{duration:{type:Number,default:()=>e.defProps.tabs.duration},list:{type:Array,default:()=>e.defProps.tabs.list},lineColor:{type:String,default:()=>e.defProps.tabs.lineColor},activeStyle:{type:[String,Object],default:()=>e.defProps.tabs.activeStyle},inactiveStyle:{type:[String,Object],default:()=>e.defProps.tabs.inactiveStyle},lineWidth:{type:[String,Number],default:()=>e.defProps.tabs.lineWidth},lineHeight:{type:[String,Number],default:()=>e.defProps.tabs.lineHeight},lineBgSize:{type:String,default:()=>e.defProps.tabs.lineBgSize},itemStyle:{type:[String,Object],default:()=>e.defProps.tabs.itemStyle},scrollable:{type:Boolean,default:()=>e.defProps.tabs.scrollable},current:{type:[Number,String],default:()=>e.defProps.tabs.current},keyName:{type:String,default:()=>e.defProps.tabs.keyName}}};exports.props=t;
|
||||
1
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/u-tabs.js
vendored
Normal file
1
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/u-tabs.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";const e=require("./props.js"),t=require("../../libs/mixin/mpMixin.js"),i=require("../../libs/mixin/mixin.js"),s=require("../../libs/config/props.js"),r=require("../../libs/function/index.js"),a=require("../../../../common/vendor.js"),n={name:"u-tabs",mixins:[t.mpMixin,i.mixin,e.props],data:()=>({firstTime:!0,scrollLeft:0,scrollViewWidth:0,lineOffsetLeft:0,tabsRect:{left:0},innerCurrent:0,moving:!1}),watch:{current:{immediate:!0,handler(e,t){e!==this.innerCurrent&&(this.innerCurrent=e,this.$nextTick((()=>{this.resize()})))}},list(){this.$nextTick((()=>{this.resize()}))}},computed:{textStyle(){return e=>{const t={},i=e===this.innerCurrent?r.addStyle(this.activeStyle):r.addStyle(this.inactiveStyle);return this.list[e].disabled&&(t.color="#c8c9cc"),r.deepMerge(i,t)}},propsBadge:()=>s.defProps.badge},async mounted(){this.init()},emits:["click","change"],methods:{addStyle:r.addStyle,addUnit:r.addUnit,setLineLeft(){const e=this.list[this.innerCurrent];if(!e)return;let t=this.list.slice(0,this.innerCurrent).reduce(((e,t)=>e+t.rect.width),0);const i=r.getPx(this.lineWidth);this.lineOffsetLeft=t+(e.rect.width-i)/2,this.firstTime&&setTimeout((()=>{this.firstTime=!1}),10)},animation(e,t=0){},clickHandler(e,t){this.$emit("click",{...e,index:t},t),e.disabled||(this.innerCurrent=t,this.resize(),this.$emit("change",{...e,index:t},t))},init(){r.sleep().then((()=>{this.resize()}))},setScrollLeft(){const e=this.list[this.innerCurrent],t=this.list.slice(0,this.innerCurrent).reduce(((e,t)=>e+t.rect.width),0),i=r.sys().windowWidth;let s=t-(this.tabsRect.width-e.rect.width)/2-(i-this.tabsRect.right)/2+this.tabsRect.left/2;s=Math.min(s,this.scrollViewWidth-this.tabsRect.width),this.scrollLeft=Math.max(0,s)},resize(){0!==this.list.length&&Promise.all([this.getTabsRect(),this.getAllItemRect()]).then((([e,t=[]])=>{this.tabsRect=e,this.scrollViewWidth=0,t.map(((e,t)=>{this.scrollViewWidth+=e.width,this.list[t].rect=e})),this.setLineLeft(),this.setScrollLeft()}))},getTabsRect(){return new Promise((e=>{this.queryRect("u-tabs__wrapper__scroll-view").then((t=>e(t)))}))},getAllItemRect(){return new Promise((e=>{const t=this.list.map(((e,t)=>this.queryRect(`u-tabs__wrapper__nav__item-${t}`,!0)));Promise.all(t).then((t=>e(t)))}))},queryRect(e,t){return new Promise((t=>{this.$uGetRect(`.${e}`).then((e=>{t(e)}))}))}}};if(!Array){a.resolveComponent("u-badge")()}Math;const d=a._export_sfc(n,[["render",function(e,t,i,s,r,n){return{a:a.f(e.list,((t,i,s)=>({a:a.t(t[e.keyName]),b:a.n(t.disabled&&"u-tabs__wrapper__nav__item__text--disabled"),c:a.s(n.textStyle(i)),d:"288530b4-0-"+s,e:a.p({show:!(!t.badge||!(t.badge.show||t.badge.isDot||t.badge.value)),isDot:t.badge&&t.badge.isDot||n.propsBadge.isDot,value:t.badge&&t.badge.value||n.propsBadge.value,max:t.badge&&t.badge.max||n.propsBadge.max,type:t.badge&&t.badge.type||n.propsBadge.type,showZero:t.badge&&t.badge.showZero||n.propsBadge.showZero,bgColor:t.badge&&t.badge.bgColor||n.propsBadge.bgColor,color:t.badge&&t.badge.color||n.propsBadge.color,shape:t.badge&&t.badge.shape||n.propsBadge.shape,numberType:t.badge&&t.badge.numberType||n.propsBadge.numberType,inverted:t.badge&&t.badge.inverted||n.propsBadge.inverted,customStyle:"margin-left: 4px;"}),f:i,g:a.o((e=>n.clickHandler(t,i)),i),h:`u-tabs__wrapper__nav__item-${i}`,i:a.n(`u-tabs__wrapper__nav__item-${i}`),j:a.n(t.disabled&&"u-tabs__wrapper__nav__item--disabled")}))),b:a.s(n.addStyle(e.itemStyle)),c:a.s({flex:e.scrollable?"":1}),d:a.s({width:n.addUnit(e.lineWidth),transform:`translate(${r.lineOffsetLeft}px)`,transitionDuration:`${r.firstTime?0:e.duration}ms`,height:n.addUnit(e.lineHeight),background:e.lineColor,backgroundSize:e.lineBgSize}),e:e.scrollable,f:r.scrollLeft}}],["__scopeId","data-v-288530b4"]]);wx.createComponent(d);
|
||||
6
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/u-tabs.json
vendored
Normal file
6
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/u-tabs.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"u-badge": "../u-badge/u-badge"
|
||||
}
|
||||
}
|
||||
1
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/u-tabs.wxml
vendored
Normal file
1
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/u-tabs.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<view class="u-tabs data-v-288530b4"><view class="u-tabs__wrapper data-v-288530b4"><slot name="left"/><view class="u-tabs__wrapper__scroll-view-wrapper data-v-288530b4"><scroll-view scroll-x="{{e}}" scroll-left="{{f}}" scroll-with-animation class="u-tabs__wrapper__scroll-view data-v-288530b4" show-scrollbar="{{false}}" ref="u-tabs__wrapper__scroll-view"><view class="u-tabs__wrapper__nav data-v-288530b4" ref="u-tabs__wrapper__nav"><view wx:for="{{a}}" wx:for-item="item" wx:key="f" bindtap="{{item.g}}" ref="{{item.h}}" style="{{b + ';' + c}}" class="{{['u-tabs__wrapper__nav__item', 'data-v-288530b4', item.i, item.j]}}"><text class="{{[item.b, 'u-tabs__wrapper__nav__item__text', 'data-v-288530b4']}}" style="{{item.c}}">{{item.a}}</text><u-badge wx:if="{{item.e}}" class="data-v-288530b4" u-i="{{item.d}}" bind:__l="__l" u-p="{{item.e}}"></u-badge></view><view class="u-tabs__wrapper__nav__line data-v-288530b4" ref="u-tabs__wrapper__nav__line" style="{{d}}"></view></view></scroll-view></view><slot name="right"/></view></view>
|
||||
1
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/u-tabs.wxss
vendored
Normal file
1
unpackage/dist/build/mp-weixin/uni_modules/uview-plus/components/u-tabs/u-tabs.wxss
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.u-empty.data-v-288530b4,.u-empty__wrap.data-v-288530b4,.u-tabs.data-v-288530b4,.u-tabs__wrapper.data-v-288530b4,.u-tabs__wrapper__scroll-view-wrapper.data-v-288530b4,.u-tabs__wrapper__scroll-view.data-v-288530b4,.u-tabs__wrapper__nav.data-v-288530b4,.u-tabs__wrapper__nav__line.data-v-288530b4{display:flex;flex-direction:column;flex-shrink:0;flex-grow:0;flex-basis:auto;align-items:stretch;align-content:flex-start}.u-tabs__wrapper.data-v-288530b4{display:flex;flex-direction:row;align-items:center}.u-tabs__wrapper__scroll-view-wrapper.data-v-288530b4{flex:1;overflow:auto hidden}.u-tabs__wrapper__scroll-view.data-v-288530b4{display:flex;flex-direction:row;flex:1}.u-tabs__wrapper__nav.data-v-288530b4{display:flex;flex-direction:row;position:relative}.u-tabs__wrapper__nav__item.data-v-288530b4{padding:0 11px;display:flex;flex-direction:row;align-items:center;justify-content:center;cursor:pointer}.u-tabs__wrapper__nav__item--disabled.data-v-288530b4{cursor:not-allowed}.u-tabs__wrapper__nav__item__text.data-v-288530b4{font-size:30rpx;color:#606266;white-space:nowrap!important}.u-tabs__wrapper__nav__item__text--disabled.data-v-288530b4{color:#c8c9cc!important}.u-tabs__wrapper__nav__line.data-v-288530b4{height:3px;background:#3c9cff;width:30px;position:absolute;bottom:2px;border-radius:100px;transition-property:transform;transition-duration:.3s}
|
||||
Reference in New Issue
Block a user