Я получаю сообщение об ошибке консоли DOMException: Failed to set the 'value' property on 'HTMLInputElement': This input element accepts a filename, which may only be programmatically set to the empty string.
при попытке загрузить файл с помощью <calcite-input> Calcite Design Component. Однако при использовании обычного HTML-элемента <input>
с теми же атрибутами проблем не возникнет.
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<meta name = "viewport" content = "width=device-width, initial-scale=1.0">
<!-- Calcite Design System -->
<script type = "module" src = "https://js.arcgis.com/calcite-components/2.8.0/calcite.esm.js" integrity = "sha384-YlUxwaQ8HMbpzggbtila0Yu/pQOahe1f79e6x6eN+H+Om1KPWOc7L0EQeYauqXrk" crossorigin = "anonymous"></script>
<link rel = "stylesheet" type = "text/css" href = "https://js.arcgis.com/calcite-components/2.8.0/calcite.css" />
<title>Test</title>
</head>
<body>
<form id = "test-form" action = "/" method = "POST" enctype = "multipart/form-data">
<calcite-input type = "file" name = "calcite_input_file" accept = ".xlsx"></calcite-input> <!-- throws error in console, file not sent in request -->
<input type = "file" name = "input_file" accept = ".xlsx" /> <!-- no errors, file sent in request -->
<button form = "test-form" type = "submit">Submit</button>
</form>
</body>
</html>
Попробовал переключиться с Calcite Design Components v 2.7.0
на 2.8.0
, но проблема не устранена. Могу просто использовать обычный HTML-элемент <input>
и добавить свой собственный стиль, чтобы он соответствовал внешнему виду компонентов дизайна Calcite, но хотелось бы избежать этой дополнительной работы :D надеюсь, что мне просто не хватает обязательного атрибута для загрузки файлов <calcite-input>
или я настроил что-то неправильно.
Связался со службой поддержки Esri, и они сообщили об ошибке. Должна быть возможность отслеживать ошибку здесь, как только они ее обработают.
Изменение: официально добавлено как BUG-000167528 на сайт технической поддержки Esri.
Редактировать: также можно отслеживать через этот выпуск на GitHub Calcite Design System.