आप ViewChild
अपने घटक में इनपुट का उपयोग करने के लिए उपयोग कर सकते हैं । सबसे पहले, आपको #someValue
अपने इनपुट में जोड़ना होगा ताकि आप इसे घटक में पढ़ सकें:
<input #myInput type="file" placeholder="File Name" name="filename" (change)="onChange($event)">
फिर आपके घटक में आपको निम्न ViewChild
से आयात करने की आवश्यकता है @angular/core
:
import { ViewChild } from '@angular/core';
फिर आप ViewChild
टेम्पलेट से इनपुट का उपयोग करने के लिए उपयोग करते हैं:
@ViewChild('myInput')
myInputVariable: ElementRef;
अब आप myInputVariable
चयनित फ़ाइल को रीसेट करने के लिए उपयोग कर सकते हैं क्योंकि यह इनपुट का संदर्भ है #myInput
, उदाहरण के लिए विधि बनाएं reset()
जो click
आपके बटन की घटना पर कॉल की जाएगी :
reset() {
console.log(this.myInputVariable.nativeElement.files);
this.myInputVariable.nativeElement.value = "";
console.log(this.myInputVariable.nativeElement.files);
}
पहले console.log
आपके द्वारा चुनी गई फ़ाइल console.log
को प्रिंट करेगा , दूसरा खाली सरणी को प्रिंट करेगा क्योंकि this.myInputVariable.nativeElement.value = "";
इनपुट से चयनित फ़ाइल को हटाता है। हम उपयोग करने के लिए this.myInputVariable.nativeElement.value = "";
क्योंकि इनपुट के इनपुट का मान पुनर्स्थापित करने के लिए FileList
विशेषता है केवल पढ़ने के लिए , तो यह असंभव है सिर्फ सरणी से आइटम हटाने के लिए। यहां प्लंकर काम कर रहा है ।