mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-11-09 13:53:38 +08:00
fix: improve the selector component
This commit is contained in:
@@ -1,12 +1,15 @@
|
||||
export const hasClass = (ele: Element, cls:string) :any => {
|
||||
export const hasClass = (ele: Element, cls: string): any => {
|
||||
return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'))
|
||||
}
|
||||
|
||||
export const addClass = (ele: Element, cls:string) :any => {
|
||||
export const addClass = (ele: Element, cls: string, extracls?: string): any => {
|
||||
if (!hasClass(ele, cls)) ele.className += ' ' + cls
|
||||
if (extracls) {
|
||||
if (!hasClass(ele, extracls)) ele.className += ' ' + extracls
|
||||
}
|
||||
}
|
||||
|
||||
export const removeClass =(ele: Element, cls:string, extracls?: string) :any => {
|
||||
export const removeClass = (ele: Element, cls: string, extracls?: string): any => {
|
||||
if (hasClass(ele, cls)) {
|
||||
const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)')
|
||||
ele.className = ele.className.replace(reg, ' ').trim()
|
||||
@@ -17,4 +20,11 @@ export const removeClass =(ele: Element, cls:string, extracls?: string) :any =>
|
||||
ele.className = ele.className.replace(regs, ' ').trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const toggleClass = (flag: boolean, clsName: string, target?: HTMLElement): any => {
|
||||
const targetEl = target || document.body
|
||||
let { className } = targetEl
|
||||
className = className.replace(clsName, "")
|
||||
targetEl.className = flag ? `${className} ${clsName} ` : className
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user