Отключите загрузку файлов перетаскиванием в syncfusion

#reactjs #syncfusion

Вопрос:

Есть ли в любом случае возможность отключить функцию перетаскивания, когда папка пуста. Я использую файловый менеджер syncfusion и реагирую js только для просмотра папки и файла с сервера узла. Я написал следующий код внутри возврата компонента react:

 <div className='control-section'>
        <FileManagerComponent
          id='file'
          view='LargeIcons'
          enablePersistence={true}
          ajaxSettings={{
            async: true,
            url: hostUrl,
            downloadUrl: hostUrl   '/Download',
            getImageUrl: hostUrl   '/GetImage',
          }}
          detailsViewSettings={{
            columns: [
              {
                field: 'name',
                headerText: 'File Name',
                minWidth: 120,
                width: 'auto',
                customAttributes: { class: 'e-fe-grid-name' },
                template: '${name}',
              },
            ],
          }}
          contextMenuSettings={{
            visible: false,
          }}
          fileSelect={onFileSelect}
          success={onSuccess}
          failure={onFailure}
        >
          <Inject services={[DetailsView]} />
        </FileManagerComponent>
      </div>
 

Ответ №1:

Вы можете выполнить свои требования, установив свойство DropArea для uploadObj равным нулю в случае успеха файлового менеджера, как показано в приведенном ниже фрагменте кода,

     var len, drag;
export class Overview extends SampleBase {

 }
  created() {
    var file =document.getElementsByClassName('e-filemanager')[0].ej2_instances[0];
    drag = file.uploadObj.dropArea;   //to store the drop area element
  }

success(args) {
if (args.action == 'read' amp;amp; args.result.files.length == 0) {
file.uploadObj.dropArea = null;  
} else {
file.uploadObj.dropArea = drag;
}
}

render() {
return (
  <div>
    <div className="control-section">
      <FileManagerComponent
        created={this.created}
        success={this.success}
      >
      </FileManagerComponent>
}
 

Образец: https://stackblitz.com/edit/react-wqgwtz-2p8gp9

Ссылка на API : https://ej2.syncfusion.com/react/documentation/api/uploader/#droparea

Комментарии:

1. Спасибо, эти коды работают, но даже загрузка перетаскиванием отключена, в области просмотра по-прежнему отображается значок папки и текст «Эта папка пуста, перетащите файлы сюда для загрузки». Я хочу удалить эту информацию.

2. syncfusion.com/forums/158259/… Пожалуйста, обратитесь к этому форуму