【发布时间】:2021-04-10 13:05:29
【问题描述】:
我在 jquery 中有这段代码
//Js
$(".custom-file-input").on("change", function() {
var files = Array.from(this.files)
var fileName = files.map(f =>{return f.name}).join(", ")
$(this).siblings(".custom-file-label").addClass("selected").html(fileName);
});
//HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet"/>
<form>
<div class="custom-file">
<input type="file" class="custom-file-input" id="customFile" multiple>
<label class="custom-file-label" for="customFile">Choose file</label>
</div>
</form>
我正在用 react 重写它
//React
<div class="custom-file">
<input onChange={(this)=>{
console.log(this);
var files = Array.from(this.files)
var fileName = files.map(f =>{return f.name}).join(", ")
$(e).siblings(".custom-file-label").addClass("selected").html(fileName);
}}
type="file" class="custom-file-input" id="customFile" multiple />
<label class="custom-file-label" for="customFile">Choose file</label>
</div>
但是我得到了this 的日志我得到了undefined,我该如何解决这个问题,为什么react 函数的函数中没有this?
【问题讨论】:
标签: javascript html jquery reactjs