代码拉取完成,页面将自动刷新
(function(e,i){typeof exports=="object"&&typeof module<"u"?module.exports=i(require("vue")):typeof define=="function"&&define.amd?define(["vue"],i):(e=typeof globalThis<"u"?globalThis:e||self,e.vueVirtualList=i(e.Vue))})(this,function(e){"use strict";const i=e.defineComponent({__name:"virtualList",props:{data:{default:[]},containerHeight:{default:""},columns:{default:0}},setup(o){const t=o;let a=e.ref(0),c=e.ref(0),u=e.ref(0),h=e.ref(0),d=e.ref(0),_=e.ref(0),g=e.ref(null),w=e.useAttrs();const x=e.computed(()=>`translate3d(0,${u.value}px,0)`),H=e.computed(()=>t.data.slice(a.value,Math.min(c.value,t.data.length))),S=()=>{let l=document.querySelector(".listContainer"),r=l==null?void 0:l.offsetHeight,n=t.columns>0?t.columns:Math.ceil(r/d.value),s=Math.floor(l.scrollTop),m=Math.ceil(s/d.value);a.value=m,c.value=n+a.value,u.value=s-s%n},y=()=>{var N,v;let l=document.querySelector(".listContainer"),r=g.value,n=l==null?void 0:l.offsetHeight,s=l==null?void 0:l.offsetWidth;d.value=r?(N=r[0])==null?void 0:N.offsetHeight:1,_.value=r?(v=r[0])==null?void 0:v.offsetWidth:1;let m=(s/_.value).toFixed(0),V=(t.data.length/m).toFixed(0);h.value=V*d.value,a.value=0;let E=t.columns>0?t.columns:Math.ceil(n/d.value);c.value=a.value+E};return e.watch(()=>t.data,l=>{y()},{immediate:!0,deep:!0}),e.onMounted(()=>{y()}),(l,r)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:"listContainer",style:e.normalizeStyle({height:e.unref(t).containerHeight,width:"100%"}),onScroll:S},[e.createElementVNode("div",{class:"listContainerPhantom",style:e.normalizeStyle({height:e.unref(h)+"px"})},null,4),e.createElementVNode("div",{class:"listContainerList",style:e.normalizeStyle({transform:x.value})},[e.createElementVNode("div",e.mergeProps({class:"list"},e.unref(w)),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H.value,(n,s)=>(e.openBlock(),e.createElementBlock("div",{ref_for:!0,ref_key:"listItemRef",ref:g,key:s+"-"+(n==null?void 0:n.id)},[e.renderSlot(l.$slots,"default",{data:n},void 0,!0)]))),128))],16)],4)],36)]))}}),I="",k=[((o,t)=>{const a=o.__vccOpts||o;for(const[c,u]of t)a[c]=u;return a})(i,[["__scopeId","data-v-e9fe0bf2"]])],p=o=>{k.map(t=>{o.component(t.__name,t)})};let f=window;if(typeof f<"u"&&f.Vue){const o=f.Vue.createApp({});p(o)}return p});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。