index.4d79409d.js 1.4 KB

1
  1. import{d as h,j as e}from"./index.f4ca3ffc.js";import{u as d}from"./index.25d567fb.js";const r="_white_12gjh_1";var s={white:r},a=h({name:"col-sticky",props:{position:{type:String,default:"top"},background:{type:String,default:""},mode:{type:String,default:"fixed"},offsetTop:{type:String,default:"0px"},offsetBottom:{default:"0px"},varName:{type:String,default:"--header-height"}},emits:["getHeight"],data(){return{divStyle:{},heightV:0,sectionStyle:{width:"100%",height:"auto"}}},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(t){console.log(t,"error useResizeObserver")}},methods:{__initHeight(t){this.sectionStyle.height=`${t}px`,this.heightV=t,document.documentElement.style.setProperty(this.varName,`${t}px`),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{a as C};