首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于上载的Vuejs绑定文件

用于上载的Vuejs绑定文件
EN

Stack Overflow用户
提问于 2018-09-05 07:54:50
回答 1查看 649关注 0票数 0

当我试图通过vue上载组件上传文件时,我坚持绑定变量进行选择。

我使用的组件是https://github.com/lian-yue/vue-upload-component

我试着用简单的测试代码进行检查。

但在选择文件后没有响应。

代码在下面。我错过了什么?

代码段

代码语言:javascript
复制
<div id="app">
  <ul>
    <li v-for="file in files">{{file.name}} - Error: {{file.error}}, Success: {{file.success}}</li>
  </ul>
  <file-upload
    ref="upload"
    v-model="files"
    post-action="/post.method"
    put-action="/put.method"
    @input-file="inputFile"
    @input-filter="inputFilter"
  >
  Upload file
  </file-upload>
  <button v-show="!$refs.upload || !$refs.upload.active" @click.prevent="$refs.upload.active = true" type="button">Start upload</button>
  <button v-show="$refs.upload && $refs.upload.active" @click.prevent="$refs.upload.active = false" type="button">Stop upload</button>
</div>
<script>
new Vue({
  el: '#app',
  data: function () {
    return {
      files: []
    }
  },
  components: {
    FileUpload: VueUploadComponent
  },
  methods: {
    inputFile: function (newFile, oldFile) {
      console.log('inputFile')
      if (newFile && oldFile && !newFile.active && oldFile.active) {
        // Get response data
        console.log('response', newFile.response)
        if (newFile.xhr) {
          //  Get the response status code
          console.log('status', newFile.xhr.status)
        }
      }
    },
    ....
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-09 03:12:19

上传的文件被绑定到文件。下面的代码是我正确的工作代码。

代码语言:javascript
复制
<div id="app">
      <p v-if="files.length">
          <ul>
            <li v-for="file in files">
                {{file.name}} <span v-if="file.success"> - . </span><span v-if="file.error"> - . </span>
                <span v-if="file.success || file.error">{{file.xhr.responseText}}</span>
            </li>
          </ul>
      </p>
  <file-upload
    ref="upload"
    v-model="files"
    post-action="/post.method"
    put-action="/put.method"
    @input-file="inputFile"
    @input-filter="inputFilter"
  >
  Upload file
  </file-upload>
  <button v-show="!$refs.upload || !$refs.upload.active" @click.prevent="$refs.upload.active = true" type="button">Start upload</button>
  <button v-show="$refs.upload && $refs.upload.active" @click.prevent="$refs.upload.active = false" type="button">Stop upload</button>
</div>
<script>
new Vue({
  el: '#app',
  data: function () {
    return {
      files: []
    }
  },
  components: {
    FileUpload: VueUploadComponent
  },
  methods: {
    inputFile: function (newFile, oldFile) {
      console.log('inputFile')
      if (newFile && oldFile && !newFile.active && oldFile.active) {
        // Get response data
        console.log('response', newFile.response)
        if (newFile.xhr) {
          //  Get the response status code
          console.log('status', newFile.xhr.status)
        }
      }
    },
    ....
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52179950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档