mirari / vue3-viewer

Image viewer component for vue 3.x, supports rotation, scale, zoom and so on, based on viewer.js
MIT License
40 stars 2 forks source link

通过往数组push这样来动态增加图片 ul 的宽度会变成auto导致换行而显示不出来缩略图,有好的解决办法吗 #2

Open AlanYiNew opened 1 year ago

AlanYiNew commented 1 year ago

通过往数组push这样来动态增加图片(图片超过15张时,堆满缩略图列表才出现), ul 的宽度会变成auto导致里面的li因为float而换行而显示不出来缩略图,有好的解决办法吗?感谢大佬

mirari commented 1 year ago

需要提供下代码示例 这感觉不是viewer而是样式问题。

AlanYiNew commented 1 year ago

image 异常情况如上图,width:auto不知道哪里加进去的。我是在view触发时往里面push来做懒加载的。就是按→按钮把下标往右移时判断要不要加载。当判断要加载就push进去。然后按←按钮就会恢复成下面的正常状态。 image

AlanYiNew commented 1 year ago

需要提供下代码示例 这感觉不是viewer而是样式问题。

需要触发时的代码吗我感觉用example里面的,然后把图片上限增加到100应该就会出现。关键问题我还是没找到这个auto在哪里弄进去的。核心代码如下 `

let viewerOptions = reactive({ inline: true, view: (evt:any) => { if (evt.detail.index >= displayData.lazyImages.length - Math.ceil(patchDisplayNum/2) - 1) { if (displayData.lazyImages.length < displayData.images.length){ displayData.lazyImages.push(displayData.images[displayData.lazyImages.length]) } } } })`

mirari commented 1 year ago

我这里试了下缩略图是可以正常显示的,还是说是指inline模式下背景里的那些图片? https://codepen.io/mirari/pen/rNqVqao

AlanYiNew commented 1 year ago

我这里试了下缩略图是可以正常显示的,还是说是指inline模式下背景里的那些图片? https://codepen.io/mirari/pen/rNqVqao

inline模式下,背景图被我隐藏了,所以是缩略图,你把容器宽度调小一点,inline模式下就会宽度不至于全屏。然后缩略图15张就铺满了,我加载到第7张的时候就会开始加载第16张。容器大小 width::646px; 我没怎么用过codepen我试试能不能codepen上复现出来

AlanYiNew commented 1 year ago

我这里试了下缩略图是可以正常显示的,还是说是指inline模式下背景里的那些图片? https://codepen.io/mirari/pen/rNqVqao

https://codepen.io/AlanYiNew/pen/qBJdJGq 试试这个。还是说设计上他就不支持?

mirari commented 1 year ago

我试了下窄屏的全屏模式也会出现这个问题,应该是viewerjs在容器宽度不足时展示缩略图的计算bug

AlanYiNew commented 1 year ago

我试了下窄屏的全屏模式也会出现这个问题,应该是viewerjs在容器宽度不足时展示缩略图的计算bug

有啥建议的改动方法吗?我找不到他哪里加的auto这个样式,我感觉把这去掉应该能行

mirari commented 1 year ago

在这里 https://github.com/fengyuanchen/viewerjs/blob/00ace6bbcc5384e5fe609bc43c8e96122636e2eb/src/js/methods.js#L1191