wujingjing
2025-01-14 d5c759fb1c54679a27c20a3a2ed2c7e082820462
src/directive/customDirective.ts
@@ -11,17 +11,17 @@
         el.classList.add('waves-effect');
         binding.value && el.classList.add(`waves-${binding.value}`);
         function setConvertStyle(obj: { [key: string]: unknown }) {
            let style: string = '';
            for (let i in obj) {
            let style = '';
            for (const i in obj) {
               if (obj.hasOwnProperty(i)) style += `${i}:${obj[i]};`;
            }
            return style;
         }
         function onCurrentClick(e: { [key: string]: unknown }) {
            let elDiv = document.createElement('div');
            const elDiv = document.createElement('div');
            elDiv.classList.add('waves-ripple');
            el.appendChild(elDiv);
            let styles = {
            const styles = {
               left: `${e.layerX}px`,
               top: `${e.layerY}px`,
               opacity: 1,
@@ -125,7 +125,7 @@
         }
         function move(e: any, type: string, obj: any) {
            let { disX, disY, minDragDomLeft, maxDragDomLeft, minDragDomTop, maxDragDomTop, styL, styT } = obj;
            const { disX, disY, minDragDomLeft, maxDragDomLeft, minDragDomTop, maxDragDomTop, styL, styT } = obj;
            // 通过事件委托,计算移动的距离
            let left = type === 'pc' ? e.clientX - disX : e.touches[0].clientX - disX;
@@ -218,3 +218,16 @@
};
//#endregion
//#region ====================== v-focus指令 ======================
export const focusDirective = (app: App) => {
   app.directive('focus', {
      mounted: function (el) {
         // 由于el-input是一个组件,需要找到内部的input元素
         const inputEl = el.querySelector('input');
         if (inputEl) {
            inputEl.focus();
         }
      },
   });
};
//#endregion