Просмотр исходного кода

解决样式调整时文章字体等未生效

natasha 3 недель назад
Родитель
Сommit
a3ecae32ce

+ 14 - 8
src/views/book/courseware/create/components/question/article/Article.vue

@@ -501,14 +501,20 @@ export default {
         if (val) {
           let oldAttrib = this.data.other_attrib;
           this.articleAttrib = JSON.parse(JSON.stringify(val));
-          if (oldAttrib.oldFont && oldAttrib.oldFont !== val.font) {
-            this.$set(this.articleAttrib, 'font', oldAttrib.oldFont);
-          }
-          if (oldAttrib.oldColor && oldAttrib.oldColor !== val.text_color) {
-            this.$set(this.articleAttrib, 'text_color', oldAttrib.oldColor);
-          }
-          if (oldAttrib.align && oldAttrib.align !== val.align) {
-            this.$set(this.articleAttrib, 'align', oldAttrib.align);
+          if (this.property.isSilentPropertyWatch) {
+            // 加载导致的变化
+            if (oldAttrib.oldFont && oldAttrib.oldFont !== val.font) {
+              this.$set(this.articleAttrib, 'font', oldAttrib.oldFont);
+            }
+            if (oldAttrib.oldColor && oldAttrib.oldColor !== val.text_color) {
+              this.$set(this.articleAttrib, 'text_color', oldAttrib.oldColor);
+            }
+            if (oldAttrib.align && oldAttrib.align !== val.align) {
+              this.$set(this.articleAttrib, 'align', oldAttrib.align);
+            }
+          } else {
+            // 样式调整导致的变化
+            this.handleChangeStyles();
           }
 
           // this.handleChangeStyles();

+ 15 - 8
src/views/book/courseware/create/components/question/dialogue_article/Article.vue

@@ -691,15 +691,22 @@ export default {
         if (val) {
           let oldAttrib = this.data.other_attrib;
           this.articleAttrib = JSON.parse(JSON.stringify(val));
-          if (oldAttrib.oldFont && oldAttrib.oldFont !== val.font) {
-            this.$set(this.articleAttrib, 'font', oldAttrib.oldFont);
-          }
-          if (oldAttrib.oldColor && oldAttrib.oldColor !== val.text_color) {
-            this.$set(this.articleAttrib, 'text_color', oldAttrib.oldColor);
-          }
-          if (oldAttrib.align && oldAttrib.align !== val.align) {
-            this.$set(this.articleAttrib, 'align', oldAttrib.align);
+          if (this.property.isSilentPropertyWatch) {
+            // 加载导致的变化
+            if (oldAttrib.oldFont && oldAttrib.oldFont !== val.font) {
+              this.$set(this.articleAttrib, 'font', oldAttrib.oldFont);
+            }
+            if (oldAttrib.oldColor && oldAttrib.oldColor !== val.text_color) {
+              this.$set(this.articleAttrib, 'text_color', oldAttrib.oldColor);
+            }
+            if (oldAttrib.align && oldAttrib.align !== val.align) {
+              this.$set(this.articleAttrib, 'align', oldAttrib.align);
+            }
+          } else {
+            // 样式调整导致的变化
+            this.handleChangeStyles();
           }
+
           // this.handleChangeStyles();
         }
       },