版本更新
This commit is contained in:
22
openhis-ui-vue3/src/directive/common/clickOutsideRow.js
Normal file
22
openhis-ui-vue3/src/directive/common/clickOutsideRow.js
Normal file
@@ -0,0 +1,22 @@
|
||||
const clickOutsideRow = {
|
||||
mounted(el, binding) {
|
||||
const rowSelector = binding.arg || '.expend_div' // 允许自定义行选择器
|
||||
const handler = (e) => {
|
||||
// 判断点击的是否为行元素且在表格容器内
|
||||
const rowEl = e.target.closest(rowSelector)
|
||||
const isInside = rowEl && el.contains(rowEl)
|
||||
if (!isInside) {
|
||||
binding.value(e) // 触发回调
|
||||
}
|
||||
}
|
||||
|
||||
el._clickOutsideHandler = handler
|
||||
document.addEventListener('click', handler)
|
||||
},
|
||||
unmounted(el) {
|
||||
document.removeEventListener('click', el._clickOutsideHandler)
|
||||
delete el._clickOutsideHandler
|
||||
}
|
||||
}
|
||||
|
||||
export default clickOutsideRow
|
||||
Reference in New Issue
Block a user