vue 백그라운드 시스템에서 발생하는 몇 가지 문제

1. 요소 UI 대화 상자는 양식 확인이 표시된 후에만 양식 확인을 수행합니다.

해결 방법: 팝업 창을 닫은 후 this.$refs['form'].resetFields(); 명령을 실행하려면 닫기 이벤트와 열기 이벤트를 추가하십시오.

 getOpen() {
      // 移除校验状态
      this.$nextTick(() => {
        this.$refs.form.clearValidate();
      });

여기서  'form'은  form에 의해 설정된 ref의 값으로, form이 submit되거나 닫힐 때 form이 자동으로 reset 될 수 있습니다.

2. 요소 UI 대화 상자는 양식 확인을 위한 유효한 값을 얻지 못할 수 있으므로 확인 버튼은 양식 확인을 수행할 수 없습니다.

해결 방법: 요소 UI 대화 상자를 별도의 구성 요소로 전환하여 사용

3. 문자열은 기호에 의해 배열로 분할되길 원합니다.

해결 방법: 다음과 같이 split()을 직접 사용하십시오. 문자열을 쉼표로 배열로 분리 split(",")

4. 테이블에 스크롤 막대가 있어야 하는데 페이지에 스크롤 막대가 없습니다.

솔루션: vh 시각적 높이를 테이블에 설정

5. antv 차트를 사용하기에 충분히 숙련되지 않았습니다.

해결책: 공식 웹사이트에서 API 설명서를 주의 깊게 읽으십시오.

6. 배열에서 지정된 요소를 찾는 여러 가지 방법

7. 데이터 수정을 위한 입력 양식이 가끔 새로 고쳐지지 않는 경우가 있습니다.

해결책: this.$forceUpdate()

8. elementUI 트리 구조 Tree는 각 행의 높이를 수정합니다.

해결책:

.el-tree-node__content {

  height: 40px;

}

9. elementUI 입력 상자의 높이 수정

해결책:

 .el-input__inner {

  height: 30px;

  margin-bottom: 5px;

}

10. 구성 요소 스타일을 수정하려면 깊이 선택기를 사용합니다.

깊이 선택기::v-deep이 더 일반적입니다.

11.Vue 오류:[ElTable] prop row-key가 필요합니다.

해결 방법: element-ui 형식은 여러 옵션을 선택하며 el-table에 row-key="id"를 추가해야 합니다.

12. Vue.js 프런트 데스크에서 Uncaught(약속 중) 취소 오류 솔루션 보고

해결 방법: this.$confirm 메서드에는 약속 메서드가 내장되어 있으므로 .catch()를 제거할 수 없습니다(작업 취소 시 포착할 수 없기 때문).

13. el-input 입력 상자가 oninput 또는 onkeyup을 사용한 후 v-model 양방향 바인딩이 실패합니다.

  <el-input
         v-model="form.currentPayAmount"
          @blur="form.currentPayAmount = $event.target.value"
          @input="input($event)"
        >
  </el-input>

14. element-ui 테이블 테이블에 행이 2개 이상일 때만 프롬프트 상자가 나타나는 문제 해결

//html
 <el-tooltip
              placement="top"
              v-model="scope.row.showTooltip"
              v-if="scope.row.schedulePoints[0].moduleName != ''"
              :open-delay="500"
              effect="dark"
            >
              <div slot="content">
                [{
   
   { scope.row.schedulePoints[1].moduleName }}]-[{
   
   {
                  scope.row.schedulePoints[1].className
                }}{
   
   { scope.row.schedulePoints[1].classNumber }}]
              </div>
              <div
                @mouseenter="showTips($event, scope.row, scope.$index)"
                class="curse"
                v-if="scope.row.schedulePoints[1].moduleName != ''"
              >
                [{
   
   { scope.row.schedulePoints[1].moduleName }}]-[{
   
   {
                  scope.row.schedulePoints[1].className
                }}{
   
   { scope.row.schedulePoints[1].classNumber }}]
              </div>
            </el-tooltip>
//js
 showTips(obj, row, index) {
      /*obj为鼠标移入时的事件对象*/

      /*currentWidth 为文本在页面中所占的宽度,创建标签,加入到页面,获取currentWidth ,最后在移除*/
      let TemporaryTag = document.createElement("span");
      TemporaryTag.innerText = `[ ${row.schedulePoints[0].moduleName} ]-[${row.schedulePoints[0].className}${row.schedulePoints[0].classNumber} ]`;
      TemporaryTag.className = "getTextWidth";
      document.querySelector("body").appendChild(TemporaryTag);
      let currentWidth = document.querySelector(".getTextWidth").offsetWidth;
      document.querySelector(".getTextWidth").remove();
      /*cellWidth为表格容器的宽度*/
      const cellWidth = obj.target.offsetWidth;
      console.log("currentWidth" + currentWidth);
      console.log("cellWidth" + cellWidth);
      /*当文本宽度小于||等于容器宽度两倍时,代表文本显示未超过两行*/
      if (currentWidth >= 2 * cellWidth) {
        row.showTooltip = true;
      } else {
        row.showTooltip = false;
      }
    },
//css
.curse {
  width: 100%;
  text-align: left;
  font-size: 16px;
  color: #1c2438;
  font-weight: 500;
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

15. 객체의 키 값을 다른 배열 객체로 사용하는 경우

 개체 이름[OtherArrayObject.Value]

16. element-ui의 설명 목록은 주로 일부 데이터를 정렬하는 데 사용됩니다.

추천

출처blog.csdn.net/xiaowu1127/article/details/129690407