使用iview文件上傳的鈎子函數時傳遞自定義參數問題


最近在改造項目的文件上傳框架的時候,使用了iview的文件上傳功能。

iview文件上傳感覺還是很好用的,使用起來也比較靈活,官方提供了很多的鈎子函數讓我們來使用

 

文檔中只是說了這些方法有哪些參數,但是項目中發現有時候的確必須傳遞一些自定義的參數。

官方文檔中我並未看到解決辦法(可能是沒找到吧)

在網友給的解決方案中,看到了使用es6的箭頭函數能解決這個問題,下邊是以on-error為例,代碼如下:

其中error,file,fileList這三個是iview官方給的參數,后邊我自己加了個字符串作為自定義參數(error,file,fileList這些名稱無所謂,順序要按官方文檔來,如果你只要一個error,可以只寫一個error)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>iview example</title>
    <link rel="stylesheet" type="text/css" href="http://unpkg.com/iview/dist/styles/iview.css">
    <script type="text/javascript" src="http://vuejs.org/js/vue.min.js"></script>
    <script type="text/javascript" src="http://unpkg.com/iview/dist/iview.min.js"></script>
</head>
<body>
<div id="app">
    <upload :on-error="(error, file, fileList)=> test1(error, file, fileList,'test')">
        <i-button icon="ios-cloud-upload-outline">上傳文件</i-button>
    </upload>
</div>
<script>
    window.app = new Vue({
        el: '#app',
        methods: {
            test1: function(error, file, fileList,mydata){
             debugger
            }
        }
    })
  </script>
</body>
</html>

這樣就順利的接收到了自定義參數和官網提供的參數,如下圖:上邊是自定義的,下邊是iview提供的參數。

 

 

 

 

 

 

如果需要兼容低版本瀏覽器不能識別es6的問題,可以將es6的寫法替換成舊版寫法。效果是一樣的,如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>iview example</title>
    <link rel="stylesheet" type="text/css" href="http://unpkg.com/iview/dist/styles/iview.css">
    <script type="text/javascript" src="http://vuejs.org/js/vue.min.js"></script>
    <script type="text/javascript" src="http://unpkg.com/iview/dist/iview.min.js"></script>
</head>
<body>
<div id="app">
    <upload :on-error="(function(error,file,fileList){return test1(error,file,fileList,'test')})">
        <i-button icon="ios-cloud-upload-outline">上傳文件</i-button>
    </upload>
</div>
<script>
    window.app = new Vue({
        el: '#app',
        methods: {
            test1: function(error, file, fileList,mydata){
                debugger
            }
        }
    })
  </script>
</body>
</html>

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM