1 |
- import{d as h,c as e}from"./index.f2940478.js";import{u as d}from"./index.bb9b9e58.js";const f="_sticky_1s8d5_1",n="_white_1s8d5_6";var s={sticky:f,white:n,"white-only":"_white-only_1s8d5_13"},c=h({emits:["getHeight"],name:"o-sticky",props:{position:{type:String,default:"top"},background:{type:String,default:""},mode:{type:String,default:"fixed"},offsetTop:{type:String,default:"0px"},offsetBottom:{default:"0px"}},data(){return{divStyle:{},heightV:0,sectionStyle:{width:"100%",height:"auto",left:"0"}}},mounted(){this.position==="top"?this.divStyle.top=this.offsetTop||"0px":this.divStyle.bottom=this.offsetBottom||"0px";try{d(this.$refs.div2,t=>{const o=t[0],{height:i}=o.contentRect;Math.abs(i-this.heightV)>1&&setTimeout(()=>{this.__initHeight(i)},10)})}catch{}},methods:{__initHeight(t){this.sectionStyle.height=`${t}px`,this.heightV=t,this.$emit("getHeight",t)}},watch:{offsetTop(){this.divStyle.top=this.offsetTop},offsetBottom(){this.divStyle.bottom=this.offsetBottom}},render(){return e("div",{style:[this.sectionStyle],class:this.mode==="sticky"&&s.sticky},[e("div",{ref:"div",class:["van-sticky",this.mode==="fixed"?"van-sticky--fixed":"",s[this.background]],style:[this.divStyle,this.sectionStyle]},[e("div",{ref:"div2"},[this.$slots.default&&this.$slots.default()])])])}});export{c as O};
|