Как очистить выбранный файл от kartik FileInput yii2 - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть виджет загрузки файлов от 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. Заранее спасибо

1 Ответ

0 голосов
/ 29 апреля 2020

Вы можете добавить кнопку удаления внутри виджета. Кнопка Удалить работает только при загрузке через 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-удалить и добавить добавить пользовательский идентификатор или класс. затем вызовите метод ajax на основе добавленного идентификатора или класса для удаления.

...