| 1 |
- import{a as D,r as T,s as A,c as u,h as i,aa as I,p as B,ae as M,eD as k,i as o,bW as P,j as E,X as L,O as S,o as j,Q as q,x as _,y as W,f as g,z as C}from"./index.ae52ebae.js";import{D as z}from"./index.c1d6a1f9.js";import{P as O}from"./index.11cb8430.js";import"./index.c4be8493.js";import"./index.ddcc0e35.js";import"./useSize.9b10dc05.js";import"./eagerComputed.94e91cab.js";import"./onMountedOrActivated.c176aad3.js";import"./useWindowSizeFn.d176b3a5.js";import"./useContentViewHeight.2a59a8a3.js";import"./ArrowLeftOutlined.0f7d1b9e.js";const Q={height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String],bench:{type:[Number,String],default:0},itemHeight:{type:[Number,String],required:!0},items:{type:Array,default:()=>[]}},y="virtual-scroll";function s(t,a="px"){if(!(t==null||t===""))return isNaN(+t)?String(t):`${Number(t)}${a}`}var U=D({name:"VirtualScroll",props:Q,setup(t,{slots:a}){const c=T(null),n=A({first:0,last:0,scrollTop:0}),p=u(()=>parseInt(t.bench,10)),m=u(()=>parseInt(t.itemHeight,10)),h=u(()=>Math.max(0,n.first-i(p))),f=u(()=>Math.min((t.items||[]).length,n.last+i(p))),v=u(()=>({height:s((t.items||[]).length*i(m))})),d=u(()=>{const e={},r=s(t.height),l=s(t.minHeight),b=s(t.minWidth),H=s(t.maxHeight),N=s(t.maxWidth),F=s(t.width);return r&&(e.height=r),l&&(e.minHeight=l),b&&(e.minWidth=b),H&&(e.maxHeight=H),N&&(e.maxWidth=N),F&&(e.width=F),e});I([()=>t.itemHeight,()=>t.height],()=>{x()});function w(e){const r=i(c);if(!r)return 0;const l=parseInt(t.height||0,10)||r.clientHeight;return e+Math.ceil(l/i(m))}function V(){return Math.floor(n.scrollTop/i(m))}function x(){const e=i(c);!e||(n.scrollTop=e.scrollTop,n.first=V(),n.last=w(n.first))}function $(){const{items:e=[]}=t;return e.slice(i(h),i(f)).map(R)}function R(e,r){r+=i(h);const l=s(r*i(m));return o("div",{class:`${y}__item`,style:{top:l},key:r},[P(a,"default",{index:r,item:e})])}return B(()=>{n.last=w(0),M(()=>{const e=i(c);!e||k({el:e,name:"scroll",listener:x,wait:0})})}),()=>o("div",{class:y,style:i(d),ref:c},[o("div",{class:`${y}__container`,style:i(v)},[$()])])}});var X=E(U,[["__scopeId","data-v-dd7becb6"]]);const G=L(X);const J=(()=>{const t=[];for(let a=1;a<2e4;a++)t.push({title:"\u5217\u8868\u9879"+a});return t})(),K=D({components:{VScroll:G,Divider:z,PageWrapper:O},setup(){return{data:J}}}),Y={class:"virtual-scroll-demo-wrap"},Z={class:"virtual-scroll-demo__item"},tt={class:"virtual-scroll-demo-wrap"},et={class:"virtual-scroll-demo__item"};function it(t,a,c,n,p,m){const h=S("Divider"),f=S("VScroll"),v=S("PageWrapper");return j(),q(v,{class:"virtual-scroll-demo"},{default:_(()=>[o(h,null,{default:_(()=>[W("\u57FA\u7840\u6EDA\u52A8\u793A\u4F8B")]),_:1}),g("div",Y,[o(f,{itemHeight:41,items:t.data,height:300,width:300},{default:_(({item:d})=>[g("div",Z,C(d.title),1)]),_:1},8,["items"])]),o(h,null,{default:_(()=>[W("\u5373\u4F7F\u4E0D\u53EF\u89C1\uFF0C\u4E5F\u9884\u5148\u52A0\u8F7D50\u6761\u6570\u636E\uFF0C\u9632\u6B62\u7A7A\u767D")]),_:1}),g("div",tt,[o(f,{itemHeight:41,items:t.data,height:300,width:300,bench:50},{default:_(({item:d})=>[g("div",et,C(d.title),1)]),_:1},8,["items"])])]),_:1})}var _t=E(K,[["render",it],["__scopeId","data-v-002a1a68"]]);export{_t as default};
|