Я сделал специальное поле ввода type = "file", так как мне не понравилось поле по умолчанию.Чтобы добиться этого, я сделал:
<input
#uploadFile
type="file"
id="uploadFile"
class="hidden-input"
accept="image/jpeg, .jpeg, image/png, .png, image/pjpeg, .jpg, .docx, .pdf"
(change)="selectFile($event.target.files[0])"
/>
<label [matTooltip]="Upload a file" for="uploadFile">
<mat-icon>folder_open</mat-icon>
</label>
, поэтому в основном он скрывает исходный ввод, и с помощью тега я могу открыть окно просмотра файла, нажав на иконку циновки.
Это работаетхорошо, но вместо метки я хотел использовать тег <button mat-icon-button>
, чтобы иметь хороший эффект ряби на значке, но "for"
, используемый в метке, не работает для <button>
.
ЕслиЯ обертываю mat-icon
внутри тега label вышеупомянутым тегом кнопки, что бы произошло, button
выглядит так, как я хочу, но когда я нажимаю, ничего не происходит, я полагаю, это потому, что button
выше label
, поэтому label
не получает щелчок, я пытался использовать z-index
, но не сработал.
Есть идеи, как решить эту проблему?