我正在做一个AngularJS项目,该项目涉及通过表单将文件上传到S3。一切正常(我可以上传文件,输入上的文件名从"未选择文件"更改为文件名称的任何名称(,除非成功上传后我想将上传文件字段重置回其原始值(显示:"未选择文件"。即使在将 $scope.file 重置为 null 后,我也无法执行此操作。我在这里将上传文件输入作为指令
angular.module('myApp').directive('file', function() {
return {
restrict: 'AE',
scope: false,
link: function(scope, el, attrs){
scope.$watch('file', function(newValue, oldValue){
console.log(newValue);
console.log(scope.file);
});
el.on('change', function(event){
var files = event.target.files;
var file = files[0];
scope.file = file;
});
}
};
});
我设置了一个观察程序,因此当我通过控制器将其设置为 null 时,我可以检查值是否正在更改,因此我不确定我可以做些什么将输入字段重置回默认值。我在这里做错了什么吗?
//在指令中的回调函数中上传后
$(el).val('')
您可以直接清除文件上传控件的值