Home  >  Article  >  Web Front-end  >  Vue displays images based on iview table to implement click-to-enlarge function

Vue displays images based on iview table to implement click-to-enlarge function

coldplay.xixi
coldplay.xixiforward
2020-08-08 16:21:002370browse

Vue displays images based on iview table to implement click-to-enlarge function

First install the dependencies:

npm install v-viewer --save

Then import it globally, I wrote it in main.js:

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

Related learning recommendations: javascript tutorial

Then register:

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' }
})

A demo used is:

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

The item.img is actually a path.

When returning to the iview form,

needs to be rendered in the format of

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

. The first parameter is the label, and the second parameter is that the label can contain props. (Vue's v-bind), can also contain attributes. The third parameter is an array representing subtags. Subtags are also in this format, and the recursion goes on.

So it is rewritten into this format. A demo in my project is as follows. You can click on the picture in the table to enlarge the display:

{
  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);
  }
}

Related learning Recommended: Programming Video

The above is the detailed content of Vue displays images based on iview table to implement click-to-enlarge function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:jb51.net. If there is any infringement, please contact admin@php.cn delete