Przeglądaj źródła

vue 渲染机制问题

chao 4 lat temu
rodzic
commit
8c3ed9aa18

+ 3 - 4
src/main/resources/static/js/base.js

@@ -397,7 +397,7 @@ function tokenAjax(type, url, params, callback){
     });
 }
 
-function setSearchProductList(list, userId) {//处理搜索
+function setSearchProductList(list, userId, callback) {//处理搜索
     var productIdArr = [];
     var resultData = [];
     list.map(function (item) {
@@ -418,10 +418,9 @@ function setSearchProductList(list, userId) {//处理搜索
         }
     });
     if (userId && userId > 0) {
-        setProductPrice(resultData, productIdArr.join(","), userId, function () {});
+        setProductPrice(resultData, productIdArr.join(","), userId, callback);
     }else {
-    var userId = 0;
-     setProductPrice(resultData, productIdArr.join(","), userId, function () {});
+        setProductPrice(resultData, productIdArr.join(","), 0, callback);
     }
     return resultData;
 }

+ 6 - 2
src/main/resources/static/js/product/list.js

@@ -80,7 +80,9 @@ var productList = new Vue({
                 if (r.code === 0 && r.data) {
                     var result = JSON.parse(r.data);
                     _self.listRecord = result.total;
-                    var resultData = setSearchProductList(result.items, _self.userId);
+                    var resultData = setSearchProductList(result.items, _self.userId, function(){
+                        _self.$forceUpdate();
+                    });
                     if(isPC){
                         _self.listData = resultData;
                     }else{
@@ -141,7 +143,9 @@ var productList = new Vue({
                     var result = JSON.parse(r.data);
                     _self.listRecord = result.total;
                     console.log(_self.userId)
-                    var resultData = setSearchProductList(result.items, _self.userId);
+                    var resultData = setSearchProductList(result.items, _self.userId, function(){
+                        _self.$forceUpdate();
+                    });
                     if(isPC){
                         _self.listData = resultData;
                     }else{

+ 3 - 1
src/main/resources/static/js/supplier/index.js

@@ -90,7 +90,9 @@ var supplierHome = new Vue({
                 if (r.code === 0 && r.data) {
                     var result = JSON.parse(r.data);
                     _self.listRecord = result.total;
-                    var resultData = setSearchProductList(result.items, _self.userId,2);
+                    var resultData = setSearchProductList(result.items, _self.userId, function(){
+                        _self.$forceUpdate();
+                    });
                     _self.productLists = _self.productLists.concat(resultData);
                 }
                 _self.requestFlag = true;

+ 3 - 1
src/main/resources/static/js/supplier/list.js

@@ -61,7 +61,9 @@ var supplierList = new Vue({
                     var resultData = [];
                     result.items.map(function (su) {
                         if(su.products && su.products.length>0) {
-                            var productList = setSearchProductList(su.products, 0);
+                            var productList = setSearchProductList(su.products, 0, function(){
+                            _self.$forceUpdate();
+                        });
                         }
                         resultData.push({
                             id: su.s_id,