• <legend id='mEg9D'><style id='mEg9D'><dir id='mEg9D'><q id='mEg9D'></q></dir></style></legend>
    <tfoot id='mEg9D'></tfoot>
  • <i id='mEg9D'><tr id='mEg9D'><dt id='mEg9D'><q id='mEg9D'><span id='mEg9D'><b id='mEg9D'><form id='mEg9D'><ins id='mEg9D'></ins><ul id='mEg9D'></ul><sub id='mEg9D'></sub></form><legend id='mEg9D'></legend><bdo id='mEg9D'><pre id='mEg9D'><center id='mEg9D'></center></pre></bdo></b><th id='mEg9D'></th></span></q></dt></tr></i><div id='mEg9D'><tfoot id='mEg9D'></tfoot><dl id='mEg9D'><fieldset id='mEg9D'></fieldset></dl></div>

        • <bdo id='mEg9D'></bdo><ul id='mEg9D'></ul>

        <small id='mEg9D'></small><noframes id='mEg9D'>

        在 vuetify 中上传文件

        时间:2023-10-11

        <legend id='tmzYF'><style id='tmzYF'><dir id='tmzYF'><q id='tmzYF'></q></dir></style></legend>

          1. <i id='tmzYF'><tr id='tmzYF'><dt id='tmzYF'><q id='tmzYF'><span id='tmzYF'><b id='tmzYF'><form id='tmzYF'><ins id='tmzYF'></ins><ul id='tmzYF'></ul><sub id='tmzYF'></sub></form><legend id='tmzYF'></legend><bdo id='tmzYF'><pre id='tmzYF'><center id='tmzYF'></center></pre></bdo></b><th id='tmzYF'></th></span></q></dt></tr></i><div id='tmzYF'><tfoot id='tmzYF'></tfoot><dl id='tmzYF'><fieldset id='tmzYF'></fieldset></dl></div>
              <bdo id='tmzYF'></bdo><ul id='tmzYF'></ul>

              <small id='tmzYF'></small><noframes id='tmzYF'>

                <tbody id='tmzYF'></tbody>
                • <tfoot id='tmzYF'></tfoot>
                  本文介绍了在 vuetify 中上传文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我在 Vue.js 中为我的前端使用 Vuetify.js 组件,并希望创建一个带有文件上传的用户注册表单.我可以使用 v-text-field(一个 Vuetify 组件)创建表单.

                  I'm using Vuetify.js components for my front-end in Vue.js and want to create a user registration form with file upload. I'm able to create the form using v-text-field (a Vuetify component).

                  • 如何上传被选中(输入)的文件?
                  • 我应该使用哪个组件或有其他替代方法?

                  推荐答案

                  Vue JS 直到今天还没有文件输入功能,所以你可以调整 v-text-field 使其像图像输入字段一样工作.概念是,创建一个文件输入字段,然后使用 css 将其隐藏,并在 v-text-field 中添加一个事件以触发该特定文件输入字段以上传图像.我附上了片段,请玩一下,我也有一个使用 vue 和 vuetify 创建的小提琴,请访问 这里.谢谢!

                  Vue JS do not have file-input feature till today, so you can tweak v-text-field to work like image input field. The concept is, create an file input field and then hide it using css, and add an event in v-text-field to trigger that specific file input field to upload image. I have attached snippet please do play with that, and I also do have a fiddle created using vue and vuetify, visit here. Thanks!

                  new Vue({
                    el: '#app',
                    data: () => ({
                      title: "Image Upload",
                      dialog: false,
                      imageName: '',
                      imageUrl: '',
                      imageFile: ''
                    }),
                  
                    methods: {
                      pickFile() {
                        this.$refs.image.click()
                      },
                  
                      onFilePicked(e) {
                        const files = e.target.files
                        if (files[0] !== undefined) {
                          this.imageName = files[0].name
                          if (this.imageName.lastIndexOf('.') <= 0) {
                            return
                          }
                          const fr = new FileReader()
                          fr.readAsDataURL(files[0])
                          fr.addEventListener('load', () => {
                            this.imageUrl = fr.result
                            this.imageFile = files[0] // this is an image file that can be sent to server...
                          })
                        } else {
                          this.imageName = ''
                          this.imageFile = ''
                          this.imageUrl = ''
                        }
                      }
                    }
                  })

                  <link href='https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons' rel="stylesheet">
                  <link href="https://unpkg.com/vuetify/dist/vuetify.min.css" rel="stylesheet">
                  <div id="app">
                    <v-app>
                      <v-toolbar dark color="primary">
                        <v-toolbar-side-icon></v-toolbar-side-icon>
                        <v-toolbar-title class="white--text">{{ title }}</v-toolbar-title>
                        <v-spacer></v-spacer>
                        <v-btn icon @click="dialog = !dialog">
                          <v-icon>link</v-icon>
                        </v-btn>
                      </v-toolbar>
                      <v-content>
                        <v-container fluid>
                          <v-flex xs12 class="text-xs-center text-sm-center text-md-center text-lg-center">
                            <img :src="imageUrl" height="150" v-if="imageUrl"/>
                            <v-text-field label="Select Image" @click='pickFile' v-model='imageName' prepend-icon='attach_file'></v-text-field>
                            <input
                              type="file"
                              style="display: none"
                              ref="image"
                              accept="image/*"
                              @change="onFilePicked"
                            >
                          </v-flex>
                          <v-dialog v-model="dialog" max-width="290">
                            <v-card>
                              <v-card-title class="headline">Hello World!</v-card-title>
                              <v-card-text>
                                Image Upload Script in VUE JS
                                <hr>
                                Yubaraj Shrestha
                                <br>http://yubarajshrestha.com.np/
                              </v-card-text>
                              <v-card-actions>
                                <v-spacer></v-spacer>
                                <v-btn color="green darken-1" flat="flat" @click.native="dialog = false">Close</v-btn>
                              </v-card-actions>
                            </v-card>
                          </v-dialog>
                        </v-container>
                      </v-content>
                    </v-app>
                  </div>
                  <script src="https://unpkg.com/vue/dist/vue.js"></script>
                  <script src="https://unpkg.com/vuetify/dist/vuetify.js"></script>

                  最新版本 (V2.0.5) 在编辑这篇日期为 2019 年 8 月 11 日的帖子时,有一个专用的文件输入选项.请点击以下链接获取官方文档:https://vuetifyjs.com/en/components/file-输入.

                  Latest version (V2.0.5) while editing this post dated Aug 11, 2019, there's a dedicated file input option. Please follow the link below for official documentation: https://vuetifyjs.com/en/components/file-inputs.

                  这篇关于在 vuetify 中上传文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:无法编译现有项目,因为 Compass 找不到它 下一篇:调用后在 angularjs 中解绑 $watch

                  相关文章

                  最新文章

                      <small id='37hTD'></small><noframes id='37hTD'>

                      • <bdo id='37hTD'></bdo><ul id='37hTD'></ul>
                      <i id='37hTD'><tr id='37hTD'><dt id='37hTD'><q id='37hTD'><span id='37hTD'><b id='37hTD'><form id='37hTD'><ins id='37hTD'></ins><ul id='37hTD'></ul><sub id='37hTD'></sub></form><legend id='37hTD'></legend><bdo id='37hTD'><pre id='37hTD'><center id='37hTD'></center></pre></bdo></b><th id='37hTD'></th></span></q></dt></tr></i><div id='37hTD'><tfoot id='37hTD'></tfoot><dl id='37hTD'><fieldset id='37hTD'></fieldset></dl></div>

                    1. <legend id='37hTD'><style id='37hTD'><dir id='37hTD'><q id='37hTD'></q></dir></style></legend>
                      <tfoot id='37hTD'></tfoot>