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

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

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

此文章是在vue-admin-template后臺上做的功能

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
    }
  },
    // 這里是用來判斷左邊菜單欄是否打開
  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只是用來判斷左邊菜單欄是否打開,用來適配彈窗的寬度而已,如果不需要可以刪除,不影響功能。

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),//后端請求回來的文件地址url
        this.file.dialogVisible = true,//彈窗
        this.file.title = row.title,//文件名稱
      })
    },
        }
    }
</script>

總結(jié)

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

相關(guān)文章

  • 用Cordova打包Vue項目的方法步驟

    用Cordova打包Vue項目的方法步驟

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

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

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

    vuex中的state屬性解析

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

    vue插件draggable實現(xiàn)拖拽移動圖片順序

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

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

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

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

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

    npm打包失敗排查的全過程

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

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

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

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

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

    vue2項目中全局封裝axios問題

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

最新評論

隆林| 永兴县| 邹平县| 阳江市| 武乡县| 邛崃市| 会泽县| 吴桥县| 乌海市| 嘉黎县| 新蔡县| 灵宝市| 瑞昌市| 凌海市| 巴楚县| 镇雄县| 唐河县| 泸西县| 泰和县| 三江| 绵竹市| 惠安县| 澎湖县| 玉溪市| 芜湖县| 聂荣县| 三河市| 吉林省| 沂南县| 辽宁省| 都昌县| 新昌县| 永兴县| 沭阳县| 丰顺县| 黔西县| 白朗县| 潮安县| 克什克腾旗| 仲巴县| 柳州市|