Запуск входного файла триггера в Ionic 4 после смены страницы
Я хочу запускать/открывать входные данные, поступающие с другой страницы в Ionic 4.
На стр. 1 у меня есть кнопка, чтобы перейти к модальному, в модуле страницы. Я хочу автоматически запускать диалог <input file>
Составная часть
ionViewWillEnter() {
document.getElementById('file').click(); // Tried with this one 1st, this only works in Internet Explorer / Edge
this.fileInput.nativeElement.click(); // And also this with @ViewChild
}
HTML
<input type="file" name="file" #file id="file" (change)="fileChange($event)" required>
Ответы
Ответ 1
Я решил, что вставка скрытого входного файла на стр. 1, когда пользователь пытается перейти на страницу2, я запускаю ввод файла.
Когда пользователь заканчивает выбор файла, я отправляю изменение события файла на страницу 2 и управляю всей логикой на стр. 2.
Ответ 2
Это код, который я использую, чтобы вызвать щелчок на <input> -element:
@ViewChild("file") fileInput: ElementRef;
triggerClick() {
let event = new MouseEvent('click', {bubbles: true});
this.renderer.invokeElementMethod(this.fileInput.nativeElement, 'dispatchEvent', [event]);
}
Ответ 3
Измените это:
ionViewWillEnter() {
document.getElementById('file').click(); // Tried with this one 1st
this.fileInput.nativeElement.click(); // And also this with @ViewChild
}
К этому:
ionViewDidLoad() {
document.getElementById('file').click(); // Tried with this one 1st
}
Ответ 4
Попробуйте ngAfterViewInit() Lifecycle hook, который вызывается после полного инициализации представления компонента.
ngAfterViewInit() {
document.getElementById('file').click();
}