element-ui中el-image组件打开预览功能后,点击当前的图片,预览出来的不是当前,是切换后关闭之前的那一张

el-image组件它是先渲染好浏览图片的div,当点击图片时直接把隐藏的div显示出来。当关闭时就直接隐藏div,下次点击又是直接显示div,并没有处理图片顺序。所以再次打开就是展示关闭前的图片。

//如果想每次点击都显示第一张。目前一个方法就是监听图片添加一个点击事件,对this.srcList重新赋值就可以了
mounted() {
	document.addEventListener('click', (e) => {
		if (e.target.classList.contains('el-image__inner')) {
			let _srcList = this.srcList
			this.$set(this, 'srcList', [])
			this.$nextTick(() => {
				this.$set(this, 'srcList', _srcList)
			})
		}
	}, false)
}

你可能感兴趣的:(element-ui,vue,javascript)