Как очистить выбранный файл с карты FileInput yii2

У меня есть виджет загрузки файлов с помощью kartik на моем веб-сайте, например

<?=$form->field($documents, 'file_additional_doc[]')->widget(FileInput::classname(), [
              'options'=>['id'=>'file_additional_doc'],
    'pluginOptions' => [
        'showUpload' => false,
        'browseLabel' => '',
        'removeLabel' => '',
        'mainClass' => 'input-group-lg',
        'showPreview'=>false,
        'showCancel' => false,
    ]
])->label(false);?>

И я хочу очистить выбранные файлы от этого внешней кнопкой. Я устал, как

document.getElementById("file_additional_doc").value=null;

Но это не работает. Как я могу удалить выбранный файл из ввода файла kartik. Заранее спасибо


person Hamza2020    schedule 27.04.2020    source источник


Ответы (1)


Вы можете добавить кнопку удаления внутри виджета. Кнопка Удалить работает только при загрузке через ajax. Устанавливает свойства uploadUrl и deleteUrl для ajax.

'pluginOptins' => [
    'uploadUrl' => Url:;to(<url>),
    'deleteUrl' => Url::to(<url>)
]

Настройте кнопку удаления, используя свойство layoutTemplates

'layoutTemplates' => [
    'actionDelete' => [
         '<button type="button" class="kv-file-remove btn btn-sm btn-kv btn-outline-secondary" title="{removeTitle}" {dataKey}{dataUrl}><i class="fa fa-trash"></i></button>'
   ]
]

Если вы хотите перезаписать кнопку удаления по умолчанию, удалите класс kv-file-remove и добавьте пользовательский идентификатор или класс. затем активируйте метод ajax на основе добавленного идентификатора или класса для удаления.

person rufaidulk    schedule 29.04.2020