ElementUI Loading을 끄고 JavaScript 경고를 켜면 Loading이 유지됩니다.

빠지다


ElementUI의 Loading을 닫고 JavaScript의 alert 호출
Loading이 남아 있는 상태에서 alert가 표시됩니다.
나는 보이는 것이 alert밖에 없는 줄 알고 반했다.

원인


ElementUI의 로딩은 JavaScript의 alert 동작과 관련이 있습니다.
  • ElementUI 닫기 로딩 처리는 300ms 후에 닫는 비동기화 처리입니다
  • JavaScript의 alert를 여는 동안 스크립트 실행을 중지합니다
  • Loading 닫는 데 시간이 지연되었습니다. 이 기간에alert가 시작된 후에Loading의 비동기적인 처리도 멈추었습니다. 결과적으로Loading 닫는 것이 닫히지 않았습니다.alert는 여전히 표시됩니다.
    코드로 표시된 인상은 이렇다.
    // ローディング表示するよ
    const loading = this.$loading({});
    
    // ローディングを非表示にするよ
    // でも300ms後に閉じるよ
    loading.close();
    
    // アラートを表示するよ
    // アラート表示したら全てのスクリプト処理が止まるよ
    alert('アラート消したら、ローディングが消える!');
    

    대책

  • ElementUI를 수정한 Loading Componetn(setTimeout이 0이면 순조롭게 진행될 것 같다...)
  • JavaScript의 alert 비동기화,Loading이 종료되면 열기를 기다립니다
  • 실제 작업에서 사양에 JavaScript 경고 사용(예기치 않은 사양)
    또한 ElemetUI를 수정할 경우 영향 범위가 커서 수정할 수 없습니다.
    로드가 종료된 후 JavaScript 경고를 여는 동안 응답했습니다.
    다음은 참고만 제공합니다 (반드시 더 좋은 방법이 있습니다...반드시 있습니다)
    // 指定した時間待って、アラートを表示します
    function delayAlert(msg, waitSec) {
      setTimeout(function() {
        alert(msg);
      }, waitSec);
    }
    // 使い方
    delayAlert("時間差でアラート表示するよ", 300);
    

    마지막


    처음으로 기사를 써 보았지만, 기사를 쓰는 것은 어려웠다.
    기사 한 편을 쓰는 데 적지 않은 시간이 걸렸다
    기사의 작성법과 내용 등에 대해 지적사항이 있으면 힘내세요

    좋은 웹페이지 즐겨찾기