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

2020-08-09 06:00:29

首先先安裝依賴:

npm install v-viewer --save

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

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

相關學習推薦:

然後註冊下:

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('xxxx', {
        props: {
          trigger: 'hover',
          placement: 'top',
          content: '二維條碼'
        }
      }, [
      ])

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

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

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

相關學習推薦:

以上就是Vue基於iview table展示圖片實現點選放大功能的詳細內容,更多請關注php中文網其它相關文章!