首頁  >  文章  >  web前端  >  Vue基於iview table展示圖片實現點擊放大功能

Vue基於iview table展示圖片實現點擊放大功能

coldplay.xixi
coldplay.xixi轉載
2020-08-08 16:21:002301瀏覽

Vue基於iview table展示圖片實現點擊放大功能

首先先安裝依賴:

npm install v-viewer --save

然後全域引入,我這邊是在main.js裡面操作寫的:

import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'

#相關學習推薦:javascript教學

然後註冊下:

Vue.use(Viewer)
Viewer.setDefaults({
  Options: { 'inline': true, 'button': true, 'navbar': true, 'title': true, 'toolbar': true, 'tooltip': true, 'movable': true, 'zoomable': true, 'rotatable': true, 'scalable': true, 'transition': true, 'fullscreen': true, 'keyboard': true, 'url': 'data-source' }
})

使用的一個demo就是:

<viewer :images="tupians">
   <i-col span="4" v-for="item in tupians">
     <p class="detailed">
      <img :src="item.img" alt="">
     </p>
   </i-col>
</viewer>

其中item.img其實就是一條路徑。

在回到iview表格中,

需要以

      h(&#39;xxxx&#39;, {
        props: {
          trigger: &#39;hover&#39;,
          placement: &#39;top&#39;,
          content: &#39;二维码&#39;
        }
      }, [
      ])

這個格式渲染出來,第一個參數是標籤,第二參數是標籤裡面可以包含props (vue的v-bind),也可以包含屬性。第三個參數是數組,表示子標籤。子標籤也是這種格式的,以此遞歸下去。

所以改寫成這種格式的,在本人項目中的一個demo如下,就可以實現在表格中點擊圖片進行放大展示:

{
  title: &#39;二维码&#39;,
  align: &#39;center&#39;,
  render: (h, params) => {
    console.log(&#39;h, param&#39;, params);
    let devicesArr = [];
    let photo = [];
    photo.push(&#39;/erweima/&#39;+params.row.pt_number+&#39;.png&#39;);
    devicesArr.push(
      h(&#39;Tooltip&#39;, {
        props: {
          trigger: &#39;hover&#39;,
          placement: &#39;top&#39;,
          content: &#39;二维码&#39;
        }
      }, [
        h(&#39;viewer&#39;, {
          props:{
            images:photo
          }
        }, [
          h(&#39;img&#39;, {
            attrs: {
              src:photo[0],
              style: &#39;width: 22px;margin-right:5px&#39;
            },
          })
        ])
      ])
    );
    return h(&#39;p&#39;, devicesArr);
  }
}

相關學習推薦:程式設計影片

#

以上是Vue基於iview table展示圖片實現點擊放大功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除