vue设置iview的列表默认图片和点击放大图片

本文意在记录自己在学习vue中的一些收获,请一定要带着质疑的眼光去看文章。由于本人也是学习阶段,语言各方面的难免会不严谨的地方甚至错的地方,若有说的不对的地方,欢迎指出~~~

列表默认图片

如图

此处使用的是render函数,代码如下(缩进调的太麻烦了= =,有时间在调了):

{   title: 'Tab背景图', 
     key: 'shortcutIconUrl',
                        width: 120,
                        render:(h,params) => {
                            return h('div',[
                                h('img',{
                                    style:{
                                        'margin-top':'10px',
                                        'margin-bottom':'10px',
                                        'border-radius':'4px',
                                        width:'80px',
                                        height:'50px',
                                        cursor: 'pointer',
                                    },
                                    attrs:{
                                        'src': 'http://dev-file.tvflnet.com'+this.list[params.index].shortcutIconUrl,
                                        onerror:'this.src="https://goss.veer.com/creative/vcg/veer/800water/veer-133632476.jpg"'
                                    },
                                    on:{
                                        click:(e)=>{
                                            this.handleView(e.srcElement.currentSrc)
                                        }
                                    }
                                }),
                            ]
                        )}
                    },

主要就是onerror,使用的时候注意放的地方是attrs,还有就是this.src,
对了,onerror的额图片最好不要用例子中的链接,下下来放到静态资源去,嗯,就是这样。

点击放大图片

handleView方法,

handleView(url) {
      this.imgUrl = url;
      this.visible = true;
},

自己定义两个变量imgUrl和visible,imgUrl: '', visible: false,

放大的容器是iview的Modal,写在template里面,如下

<Modal title="查看大图" v-model="visible" class-name="fl-image-modal">
      <img :src="imgUrl" v-if="visible" style="width: 100%">
</Modal>

样式自行设计啊,就酱~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。