国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - calcul du prix du panier vuejs+elementui, cliquez sur le signe plus ou moins pour modifier la quantité et le prix total ne changera pas, mais le calcul est exécuté
巴扎黑
巴扎黑 2017-07-05 10:58:23
0
2
1432

La fonction de passer une commande pour un produit
Découvrez tous les produits, cliquez pour passer une commande, puis ajoutez les produits commandés au panier Le panier n'a pas besoin d'être enregistré
La quantité du produit peut. être modifié et le prix total peut être calculé. Maintenant, le calcul dans ma méthode est exécuté. Mais lorsque vous cliquez sur le signe plus ou moins sur la page, la quantité et le prix total ne changeront pas dans la liste des données de requête, il n'y a pas de quantité. et les champs de prix total Voici les champs que j'ai définis moi-même

.

<el-table-column label="數(shù)量" width="220"  >
                        <template scope="scope">
                          <el-input v-model="scope.row.count" :value="scope.row.count"  @change="changeCount(scope.row)" :min="1" :max="scope.row.num">
                          <el-button slot="prepend" @click="changeQuantity(scope.row,-1)"><i class="el-icon-minus"></i></el-button>
                          <el-button slot="append" @click="changeQuantity(scope.row,1)"><i class="el-icon-plus"></i></el-button>
                          </el-input>
                          <br />
                          <span style="color:#999;display: block; text-align: center;">庫存{{scope.row.num}}件</span>
                        </template>
                    </el-table-column>
                    <el-table-column prop="price" label="單價(jià)" width="100"></el-table-column>
                    <el-table-column prop="totalPrice" label="總價(jià)" width="150" v-model="cartListData.totalPrice"></el-table-column>
count: undefined,
totalPrice: 0,
//下單商品列表
getCartData() {
                this.$axios({
                        url: this.path + 'product/getByList',
                        method: 'get',
                        params: this.cartListQuery,
                        transformRequest: [function(params) {
                            let ret = ''
                            for(let it in params) {
                                ret += encodeURIComponent(it) + '=' + encodeURIComponent(params[it]) + '&'
                            }
                            return ret
                        }],
                        headers: {
                            'Content-Type': 'application/x-www-form-urlencoded'
                        }
                    })
                    .then((res) => {
                        
                        this.cartNum  //下單商品的長度
                        this.cartListData = res.data;
                        this.cartListData.forEach(function(data,index){
                            data.count = 1; //默認(rèn)一個(gè)商品
                            data.totalPrice= (data.price * parseInt(data.count)).toFixed(2);
                            //商品總價(jià)
                        });    
                    })
                    .catch((err) => {
                        console.log(err);
                    })
            },
    //加減號
    changeQuantity(row, type){
              if( type > 0 ){
                row.count++;
              }else{
                row.count > 1 ? row.count--: row.count = 1;
              }
              this.changeCount(row);
            },
            //數(shù)量文本框值改變
            changeCount (row) {
                if(null == row.count || row.count == ""){
                  row.count=1;
                }
                row.totalPrice = (row.count * row.price).toFixed(2);//保留兩位小數(shù)
                   console.log(row.totalPrice+" = "+ row.count +" * "+ row.price)
                //增加商品數(shù)量也需要重新計(jì)算商品總價(jià)
             },
巴扎黑
巴扎黑

répondre à tous(2)
扔個(gè)三星炸死你
changeCount (row) {
                const index = this.cartListData.indexOf(row);
                this.cartListData.splice(index,1,row);  //需要更新一下table數(shù)據(jù)
                
                if(null == row.count || row.count == ""){
                  row.count=1;
                }
                row.totalPrice = (row.count * row.price).toFixed(2);//保留兩位小數(shù)
                   console.log(row.totalPrice+" = "+ row.count +" * "+ row.price)
                //增加商品數(shù)量也需要重新計(jì)算商品總價(jià)
             }
漂亮男人

Première question, la capture d'écran de votre code de question est incomplète

Deuxième question, votre v-modèle du prix total cartListData的totalPrice,而你的method里面設(shè)置的是row的totalPrice,你確定你的cartListDatarowest-il le même objet ?

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal