描述:
最近兼容低版本火狐瀏覽器, 版本賊低, 估計大家這輩子不會碰到, 也希望你們不要碰到.
然后用el-upload上傳點東西, 結果發現點擊一下, 選擇文件點擊確定后, 又彈出來了選擇文件框.
廢話就不多說了.
解決思路:
谷歌,高版本火狐都沒事.
出來兩次, 最容易想到點擊兩次.
開始是監聽該input是否被點擊兩次
就是這個input,但是發現他只被點擊一次....
然后我看了看ele源碼,發現el是監聽click事件
handleClick() {
if (!this.disabled) {
this.$refs.input.value = null;
this.$refs.input.click();
}
},
然后通過js點擊input
<input class="el-upload__input" type="file" ref="input" name={name} on-change={handleChange} multiple={multiple} accept={accept}></input>
經過多次失敗,我忽然想到是不是click事件沒阻止,然后直接點擊到了input或者其它我沒考慮的情況.
於是,我監聽input,click后獲取event,執行event.stopPropagation().
$("el-upload__input").on({
click: function (event) {
console.log(event)
event.stopPropagation()
}
})
就解決了.
這個Bug我吃定的了.