如何检查剑道上传中是否存在所选文件?

aft*_*tab -3 javascript kendo-ui angularjs

我想理解为什么我们检查索引数组值为-1,onSelect如果已经存在fileName ,我有一个kendo上传问题阻止用户加载文件和显示showErr.它适用于我们使用一个文件但是当我们选择多个文件并且如果一个文件已经加载时,它应该显示为err但它没有发生.

main.html中

 <div class="row" >
                <div class="form-group col-md-12 fieldHeight" ng-hide="errorUpDoc" >
                    <label for="attachment" class="col-md-4" ng-show="!editDocMode">File name:</label>
                    <div class="col-md-6" ng-show="!editDocMode">
                         <input name="file"
                   type="file"
                   kendo-upload="fileAttachment"
                   k-upload="addMorePostParameters"
                   k-success="onSuccess"
                   k-error = "onError"
                   k-multiple="true"
                   ng-disabled="disableDocFields"
                   k-options="fileAttachmentOptions"
                   k-select="onSelect"
                   k-remove="onUploadRemove"
                   />
                   <p ng-show="showErr" class="text-danger">File name already exists</p>
                    </div>
                </div>
        </div>
Run Code Online (Sandbox Code Playgroud)

main.js

 $scope.onSelect = function (e) {
       // var fileNames = $.map(e.files, function(file) { return file.name; }).join(', ');
        var fileNames = assessmentData.map(function(assessment)
            { return assessment.fileName; });
           e.files.forEach(function (file) {
          if (fileNames.indexOf(file.name) !== -1 || selectedFile.indexOf(file.name) !== -1) {
            e.preventDefault();
            $timeout(function () {
              $scope.showErr= true;
              });
          }
          else {
              $timeout(function () {
                  $scope.showErr = false;
                  });
            }
          });
        for ( var i=0; i < e.files.length; i++){
            if(selectedFile.indexOf(e.files[i].name) === -1){
                selectedFile.push(e.files[i].name);
            }
        }
      };
Run Code Online (Sandbox Code Playgroud)

psi*_*bin 5

当元素不存在于数组中时,indexOf返回-1.