2017-05-25 197 views
0

我的組件VUE是這樣的:點擊按鈕後,我怎樣才能獲得價值? Vue.js 2

<template> 
    <div class="modal" tabindex="-1" role="dialog"> 
     ... 
     <div class="form-group"> 
      <input type="file" id="change-image" name="replace"> 
     </div> 
     <div class="form-group"> 
      <input type="text" class="form-control" id="alt-image"> 
     </div> 
     <div class="checkbox"> 
      <label> 
       <input type="checkbox"> Set 
      </label> 
     </div> 
     ...    
     <button type="button" class="btn btn-success" @click="editImageProduct"> 
      {{trans('store.modal.edit.button.save')}} 
     </button> 

     ... 
    </div> 
</template> 
<script> 
    export default{ 
     ... 
     methods: { 
      editImageProduct(event) { 
       // get the data 
      } 
     } 
    } 
</script> 

當我按一下按鈕,我想要得到的輸入類型的文件,輸入型文本和intput型複選框值

我知道使用JavaScript或jQuery的

但我想要得到它使用vue.js 2

我該怎麼辦呢?

回答

0

使用v-model表單中的

<input type="file" id="change-image" name="replace" v-model="file"> 
<input type="text" class="form-control" id="alt-image" v-model="text"> 
<input type="checkbox" v-model="checkbox"> 

export default { 
    data: function(){ 
     return { 
      file: null, 
      checkbox: null, 
      text: null, 
     } 
    }, 
    methods: { 
     editImageProduct() { 
      console.log(this.file, this.checkox, this.text); 
     } 
    } 
} 

編輯:

試圖尋找到這個例子文件輸入,希望它會幫助你http://codepen.io/Atinux/pen/qOvawK/

+0

V模型的輸入類型的文件無法正常工作 –

+1

@TrendingNews嘗試一下進入這個例子http://codepen.io/Atinux/pen/qOvawK/ – PenAndPapers

0

使用複選框和文本輸入,你可以使用v-model。 隨着文件的輸入,你可以得到數據,當用戶上傳圖片,使用事件onChange

示例代碼:

new Vue({ 
 
    el: '#app', 
 
    data: { 
 
    image: '', 
 
    altImage: '', 
 
    set: false, 
 
    }, 
 
    methods: { 
 
    onUpload(e) { 
 
     this.image = e.target.files || e.dataTransfer.files; 
 
    }, 
 
    editImageProduct() { 
 
     console.log('File object', this.image); 
 
     console.log('Image name', this.image[0].name); 
 
     console.log('Alt Image', this.altImage); 
 
     console.log('Set', this.set); 
 
    } 
 
    } 
 
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.10/vue.min.js"></script> 
 

 
<div id="app"> 
 
    <div class="form-group"> 
 
    <input type="file" @change="onUpload"> 
 
    </div> 
 

 
    <div class="form-group"> 
 
    <input type="text" class="form-control" v-model="altImage"> 
 
    </div> 
 
    
 
    <div class="checkbox"> 
 
    <label><input type="checkbox" v-model="set"> Set</label> 
 
    </div> 
 

 
    <button type="button" class="btn btn-success" @click="editImageProduct">Save</button> 
 
</div>

相關問題