Maison interface Web js tutoriel Exemple d'analyse sur des fonctions telles que la sélection complète et la sélection inverse de la case à cocher du panier dans Vue

Exemple d'analyse sur des fonctions telles que la sélection complète et la sélection inverse de la case à cocher du panier dans Vue

Mar 29, 2018 am 10:10 AM

Cet article partage principalement avec vous un exemple d'analyse des fonctions de sélection complète et de sélection inverse de la case à cocher du panier d'achat de Vue. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Suivons l’éditeur et jetons un coup d’œil.

La logique étant relativement simple, je joindrai le code directement ! J'espère que vous pourrez en choisir plus ~~~~

code HTML :

<p class="select-buyer">
    <checklist :options="fullValues"></checklist>
    <span>id: {{selectedData}}</span>
    <p class="weui-cells weui-cells_checkbox">
        <label v-for=&#39;(item, index) in checkboxData&#39; :key="item.id" class="weui-cell weui-check_label">
            <p class="weui-cell__hd">
                <input :value="item.id" v-model="checkBox.items[index]" @click="handleInputChange" type="checkbox" name="vux-checkbox" class="weui-check">
                <i class="weui-icon-checked vux-checklist-icon-checked"></i>
            </p>
            <p class="weui-cell__bd">
                <p>{{item.value}}价格:{{item.price}}</p>
            </p>
        </label>
    </p>
</p>
Copier après la connexion

Code du fichier .Vue :

<template src="./index.html"></template>
<script>
import { Checklist } from "vux";
export default {
  name: "selectBuyer",
  data() {
    return {
      fullValues: [],
      checkboxData: [
        {
          id: "1",
          value: "苹果4S",
          price: 110
        },
        {
          id: "2",
          value: "苹果5C",
          price: 250
        },
        {
          id: "3",
          value: "苹果6P",
          price: 340
        }
      ],
      selectedData: [],
      totalPrice: 0.00,
      isAllChecked: true,
      checkBox: {
        checked: false,
        items: {}
      }
    };
  },
  mounted() {
    this.checkboxData.forEach((item, index) => {
      this.selectedData.push(item.id);
      this.$set(this.checkBox.items, index, !this.checkBox.checked);
    });
  },
  computed: {
    totalPurchasers() {
      return this.selectedData.length;
    },
    calculatedTotal() {
      this.totalPrice = 0.00;
      this.selectedData.map((item1, index) => {
        let curItem1 = item1;
        this.checkboxData.map((item2, index) => {
          if(this.checkboxData[index].id == curItem1){
            this.totalPrice += this.checkboxData[index].price;
          }
        });
      });
      return this.totalPrice;
    }
  },
  methods: {
    //全选点击事件
    checkedAll() {
      let trueNum = 0;
      let checkBoxNum = 0;
      Object.keys(this.checkBox.items).forEach(key => {
        checkBoxNum++;
        if (this.checkBox.items[key] === true) {
          trueNum++;
        }
      });
      if (trueNum != 0) {
        if (
          trueNum != this.checkboxData.length ||
          checkBoxNum < this.checkboxData.length
        ) {
          this.checkboxDataMap(!this.checkBox.checked);
        } else {
          this.checkboxDataMap(this.checkBox.checked);
        }
      } else {
        this.checkboxDataMap(!this.checkBox.checked);
      }
    },
    //遍历改变checkbox状态
    checkboxDataMap(checked) {
      let checkboxDataId = [];
      this.checkboxData.forEach((item, index) => {
        this.checkBox.items[index] = checked;
        checkboxDataId.push(item.id);
      });
      if (checked == true) {
        this.selectedData = this.arrayMerging(
          this.selectedData,
          checkboxDataId
        );
      } else {
        this.selectedData.splice(0, this.selectedData.length);
      }
    },
    //input输入框change事件
    handleInputChange(e) {
      setTimeout(() => {
        if (this.selectedData.indexOf(e.target.value) > -1) {
          this.remove(this.selectedData, e.target.value);
        } else {
          this.selectedData.push(e.target.value);
        }
        if (this.selectedData.length < this.checkboxData.length) {
          this.isAllChecked = false;
        } else {
          this.isAllChecked = true;
        }
      }, 0);
    },
    //数组删除
    remove(arr, val) {
      var index = arr.indexOf(val);
      if (index > -1) {
        arr.splice(index, 1);
      }
    },
    //数组合并去重
    arrayMerging(arr1, arr2) {
      var arr = arr1.concat();
      for (var i = 0; i < arr2.length; i++) {
        if (arr.indexOf(arr2[i]) === -1) {
          arr.push(arr2[i]);
        }
      }
      return arr;
    }
  },
  components: {
    Checklist
  },
  metaInfo() {
    return {
      title: "选择购卡学生"
    };
  }
};
</script>
<style src="./index.less" lang="less"></style>
Copier après la connexion

moins de fichier de style :

@import (reference) "../../style/common.less";
.select-buyer {
    .weui-cells_checkbox {
        margin-top: -25px !important;
        font-size: 28px;
        .weui-cell {
            padding: 40px 30px !important;
            .vux-label-desc {
                font-size: inherit;
            }
        }
        & .weui-icon-checked:before {
            font-size: 48px;
        }
        & .weui-check:checked+.vux-checklist-icon-checked:before {
            color: @g-main-green;
        }
    }
    .footer .weui-cells_checkbox .weui-check:checked+.weui-icon-checked:before {
        content: &#39;\EA01&#39;;
    }
    .footer .weui-cells_checkbox .weui-check:checked+.vux-checklist-icon-checked:before {
        color: #C9C9C9;
    }
}

.pay-area {
    position: fixed;
    height: 94px;
    background-color: @g-white;
    display: flex;
    width: 100%;
    left: 0;
    bottom: 0;
    .pay-btn {
        width: 220px;
        text-align: center;
        font-size: 36px;
        /* px */
        line-height: 94px;
        color: @g-white;
        background-color: @g-main-green;
        .loading-img {
            width: 40px;
            vertical-align: -3px;
            margin: 0 3px;
        }
    }
    .pay-text {
        font-size: 28px;
        color: @g-font-default-color;
        line-height: 54px;
        /* px */
        display: inline-block;
        vertical-align: top;
        margin-right: 10px;
    }
    .pay-money {
        font-size: 48px;
        /* px */
        line-height: 54px;
        /* px */
        color: @g-font-dark-color;
    }
    .price-area {
        flex: 1;
        padding: 20px 30px;
    }
}

.error {
    padding-left: 15px;
    line-height: 28px;
    color: #888;
    font-size: 12px;
}
Copier après la connexion

Recommandations associées :

Vue.js implémente la sélection complète et la sélection inversée de la case à cocher

Trois façons pour l'implémenter, la case à cocher sélectionne tout, sélection inverse

Sélectionner tout et effets de sélection inverse dans la case à cocher en js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter la sélection inversée dans Word Comment implémenter la sélection inversée dans Word Mar 19, 2024 pm 07:58 PM

On entend souvent l'opération de sélection inversée dans de nombreux logiciels d'édition graphique. Peut-on réaliser une sélection inverse dans les documents Word ? En fait, la fonction du logiciel Word Office est relativement puissante. Même s'il n'existe pas d'outil de sélection inverse directe permettant d'inverser la sélection de contenu en un clic, nous pouvons également utiliser des méthodes alternatives pour effectuer la sélection inversée dans Word. l'exigence de fonctionnement de la sélection inversée dans Word au travail, Venez vite ici pour voir comment inverser la sélection dans Word. 1. Tout d’abord, nous créons et ouvrons un document Word et nous devons saisir du contenu textuel. 2. Nous sélectionnons une partie du texte et définissons sa couleur de police sur rouge, comme le montre la figure ci-dessous : 3. Ci-dessous, nous trouvons [Rechercher] dans la barre d'outils, déroulant et cliquons sur l'option [Recherche avancée], puis recherchons et remplacer

Comment implémenter une fonction simple de panier d'achat en Java ? Comment implémenter une fonction simple de panier d'achat en Java ? Nov 02, 2023 am 11:56 AM

Comment implémenter une fonction simple de panier d'achat en Java ? Le panier est une fonctionnalité importante d'une boutique en ligne, qui permet aux utilisateurs d'ajouter les articles qu'ils souhaitent acheter au panier et de gérer les articles. En Java, nous pouvons implémenter une fonction de panier simple en utilisant une approche orientée objet. Tout d’abord, nous devons définir une classe de produits. Cette classe contient des attributs tels que le nom du produit, le prix et la quantité, ainsi que les méthodes Getter et Setter correspondantes. Par exemple : publicclassProduct

PHP implémente la fonction de panier d'achat PHP implémente la fonction de panier d'achat Jun 22, 2023 am 09:00 AM

Dans notre vie quotidienne, les achats en ligne sont devenus un mode de consommation très courant, et la fonction panier est également l'un des éléments importants des achats en ligne. Ainsi, cet article expliquera comment utiliser le langage PHP pour implémenter les fonctions liées au panier. 1. Contexte technique Le panier d'achat est une fonction courante sur les sites d'achat en ligne. Lorsque les utilisateurs parcourent certains produits sur un site Web, ils peuvent ajouter ces articles à un panier virtuel pour faciliter la sélection et la gestion lors du processus de commande ultérieur. Un panier comprend généralement les fonctions de base suivantes : Ajouter des articles :

Tutoriel pratique : Explication détaillée de la fonction panier avec PHP et MySQL Tutoriel pratique : Explication détaillée de la fonction panier avec PHP et MySQL Mar 15, 2024 pm 12:27 PM

Tutoriel pratique : Explication détaillée de la fonction de panier d'achat en utilisant PHP et MySQL La fonction de panier d'achat est l'une des fonctions courantes dans le développement de sites Web. Grâce au panier d'achat, les utilisateurs peuvent facilement ajouter les articles qu'ils souhaitent acheter au panier. puis procédez au règlement et au paiement. Dans cet article, nous détaillerons comment implémenter une fonction de panier simple à l'aide de PHP et MySQL et fournirons des exemples de code spécifiques. Pour créer une base de données et une table de données, vous devez d'abord créer une table de données dans la base de données MySQL pour stocker les informations sur le produit. Ce qui suit est un simple tableau de données

Compétences en développement de centres commerciaux PHP : conception de fonctions de panier d'achat et de synchronisation des commandes Compétences en développement de centres commerciaux PHP : conception de fonctions de panier d'achat et de synchronisation des commandes Jul 30, 2023 pm 07:22 PM

Compétences en développement de centre commercial PHP : Concevoir des fonctions de panier d'achat et de synchronisation des commandes Dans un site Web de centre commercial, le panier d'achat et les commandes sont des fonctions indispensables. Le panier est utilisé par les utilisateurs pour acheter des produits et les enregistrer dans un panier temporaire, tandis que la commande est un enregistrement généré après que l'utilisateur a confirmé l'achat du produit. Afin d'améliorer l'expérience utilisateur et de réduire les erreurs, il est très important de concevoir une fonction de synchronisation du panier et des commandes. 1. Le concept de panier et de commande Un panier est généralement un conteneur temporaire utilisé pour stocker les articles achetés par les utilisateurs. Les utilisateurs peuvent ajouter des produits au panier pour faciliter la navigation et la gestion.

Comment implémenter la fonction de panier d'achat à l'aide de Redis et JavaScript Comment implémenter la fonction de panier d'achat à l'aide de Redis et JavaScript Sep 21, 2023 pm 01:27 PM

Comment utiliser Redis et JavaScript pour implémenter la fonction de panier d'achat. Le panier d'achat est l'une des fonctions les plus courantes sur les sites Web de commerce électronique. Il permet aux utilisateurs d'ajouter des articles d'intérêt au panier, ce qui facilite leur visualisation et leur visualisation. gérer les articles achetés à tout moment. Dans cet article, nous présenterons comment implémenter la fonction de panier d'achat à l'aide de Redis et JavaScript, et fournirons des exemples de code spécifiques. 1. Préparation Avant de commencer, nous devons nous assurer que Redis a été installé et configuré, ce qui peut être fait via le site officiel [https:/

Comment concevoir la structure de la table du panier du centre commercial dans MySQL ? Comment concevoir la structure de la table du panier du centre commercial dans MySQL ? Oct 30, 2023 pm 02:12 PM

Comment concevoir la structure de la table du panier du centre commercial dans MySQL ? Avec le développement rapide du commerce électronique, les paniers d’achat sont devenus un élément important des centres commerciaux en ligne. Le panier est utilisé pour enregistrer les produits achetés par les utilisateurs et les informations associées, offrant ainsi aux utilisateurs une expérience d'achat pratique et rapide. Concevoir une structure de table de panier raisonnable dans MySQL peut aider les développeurs à stocker et à gérer efficacement les données du panier. Cet article expliquera comment concevoir la structure de la table du panier d'achat du centre commercial dans MySQL et fournira quelques exemples de code spécifiques. Premièrement, le tableau du panier doit contenir

Comment implémenter une fonction simple de panier d'achat en utilisant PHP Comment implémenter une fonction simple de panier d'achat en utilisant PHP Sep 24, 2023 am 09:13 AM

Comment utiliser PHP pour implémenter une fonction de panier d'achat simple La fonction de panier d'achat est une partie essentielle d'un site Web de commerce électronique. Elle permet aux utilisateurs d'ajouter des articles qui les intéressent au panier, puis de procéder au paiement ou de continuer à naviguer et à ajouter des articles. . Cet article explique comment utiliser PHP pour implémenter une fonction de panier d'achat simple et fournit des exemples de code spécifiques. Création de la base de données et des tables Tout d'abord, nous devons créer une base de données et une table pour stocker les données du panier. CREATEDATABASEshopping_ca

See all articles