最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue如何在線預(yù)覽各類型文件

 更新時(shí)間:2023年11月17日 10:44:33   作者:如果會(huì)御劍  
這篇文章主要介紹了vue如何在線預(yù)覽各類型文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

此文章是在vue-admin-template后臺(tái)上做的功能

1.新建組件previewFile => index.vue

<template>
  <div :class="['dialog-box',isCollapse?'analysis-dialog':'analysis']">
    <el-dialog
      :title="`${file.title}文件預(yù)覽`"
      :visible.sync="file.dialogVisible"
      :before-close="handleClose"
      :width="isCollapse?'calc(100% - 54px)':'calc(100% - 238px)'"
      top="0"
    >
      <div>
        <iframe
          class="child"
          frameborder="0"
          :src="'http://view.xdocin.com/xdoc?_xdoc=' + file.fileurl"
          :style="{ height: height }"
        />
      </div>
    </el-dialog>
  </div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
  props: {
    file: {
      type: Object,
      default: function() {
        return {
          fileurl: '',
          dialogVisible: false,
          title: ''
        }
      }
    }
  },
  data() {
    return {
      height: window.innerHeight - 120 + 'px',
      dialogVisible: false
    }
  },
    // 這里是用來(lái)判斷左邊菜單欄是否打開
  computed: {
    ...mapGetters(['sidebar']),
    isCollapse() {
      return !this.sidebar.opened
    }
  },
  methods: {
    handleClose() {
      this.file.dialogVisible = false
    }
  }
}
</script>
<style scoped>
.child {
  width: 100%;
  height: 100%;
  border: 0;
}
.dialog-box>>>.el-dialog__headerbtn{
  font-size: 34px;
}
.analysis>>>.el-dialog{
  left: 119px;
}
.analysis-dialog>>>.el-dialog{
  left: 27px;
}
</style>

上面用到vuex只是用來(lái)判斷左邊菜單欄是否打開,用來(lái)適配彈窗的寬度而已,如果不需要可以刪除,不影響功能。

2.引用組件

<div>
    <div>
    <el-button
       size="mini"
       type="success"
        @click="handlepreview"
     >預(yù)覽</el-button>
</div>
<!-- 預(yù)覽文件 -->
    <preview-file :file="file" />
</div>
 
<script>
    export default {
        components: {
            PreviewFile: () => import('@/components/previewFile/index.vue')
      },
        data(){
            return{
                file: {
                    fileurl: '',
                    dialogVisible: false,
                    title: ''
                  }
            }
        },
        methods:{
             // 預(yù)覽
    handlepreview() {
      // console.log(index, row)
        // 這里的id是傳給后端接口的id,沒有可以不傳
      downtemplate({ id: row.id }).then(res => {
        this.file.fileurl = encodeURIComponent(res.data),//后端請(qǐng)求回來(lái)的文件地址url
        this.file.dialogVisible = true,//彈窗
        this.file.title = row.title,//文件名稱
      })
    },
        }
    }
</script>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用Cordova打包Vue項(xiàng)目的方法步驟

    用Cordova打包Vue項(xiàng)目的方法步驟

    這篇文章主要介紹了用Cordova打包Vue項(xiàng)目的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2019-02-02
  • vue組件代碼分塊和懶加載講解

    vue組件代碼分塊和懶加載講解

    這篇文章主要介紹了vue組件代碼分塊和懶加載講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vuex中的state屬性解析

    vuex中的state屬性解析

    這篇文章主要介紹了vuex中的state屬性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue插件draggable實(shí)現(xiàn)拖拽移動(dòng)圖片順序

    vue插件draggable實(shí)現(xiàn)拖拽移動(dòng)圖片順序

    這篇文章主要為大家詳細(xì)介紹了vue插件draggable實(shí)現(xiàn)拖拽移動(dòng)圖片順序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Vue.js slot插槽的作用域插槽用法詳解

    Vue.js slot插槽的作用域插槽用法詳解

    這篇文章主要介紹了Vue.js slot插槽的作用域插槽用法詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Vite+Electron快速構(gòu)建VUE3桌面應(yīng)用的實(shí)現(xiàn)

    Vite+Electron快速構(gòu)建VUE3桌面應(yīng)用的實(shí)現(xiàn)

    本文主要介紹了Vite+Electron快速構(gòu)建VUE3桌面應(yīng)用的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • npm打包失敗排查的全過程

    npm打包失敗排查的全過程

    使用npm報(bào)了很多錯(cuò),做的事情就是把錯(cuò)誤復(fù)制到百度上去搜索,看看哪個(gè)解決方案有效,下面這篇文章主要給大家介紹了關(guān)于npm打包失敗排查的全過程,需要的朋友可以參考下
    2022-11-11
  • vue項(xiàng)目中向數(shù)組添加元素的3種方式

    vue項(xiàng)目中向數(shù)組添加元素的3種方式

    這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中向數(shù)組添加元素的3種方式,在Vue中添加元素到數(shù)組非常簡(jiǎn)單,文中通過代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10
  • vue集成openlayers加載geojson并實(shí)現(xiàn)點(diǎn)擊彈窗教程

    vue集成openlayers加載geojson并實(shí)現(xiàn)點(diǎn)擊彈窗教程

    這篇文章主要為大家詳細(xì)介紹了vue集成openlayers加載geojson并實(shí)現(xiàn)點(diǎn)擊彈窗教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • vue2項(xiàng)目中全局封裝axios問題

    vue2項(xiàng)目中全局封裝axios問題

    這篇文章主要介紹了vue2項(xiàng)目中全局封裝axios問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評(píng)論

密云县| 东乡族自治县| 英德市| 天等县| 仪陇县| 仙游县| 巧家县| 丹阳市| 永善县| 简阳市| 溧阳市| 景谷| 武陟县| 海伦市| 弥渡县| 铁岭市| 衡阳县| 民乐县| 阳江市| 措勤县| 民丰县| 民和| 呼图壁县| 芜湖市| 饶平县| 宜城市| 赤壁市| 仙居县| 夏津县| 鄢陵县| 青浦区| 辽阳县| 德惠市| 冀州市| 桑日县| 韶关市| 崇仁县| 西城区| 阳原县| 谢通门县| 康马县|