Comment passer des accessoires personnalisés au composant dans Vue à partir de la fonction ?


Viatcheslav Odinokov

Je veux passer la isReadonlyvaleur booléenne du premier composant au second. Et ça ne marche pas.

Edité après la réponse de cafertayyar. Méthode isReadonlydéplacée de methodsà computed.

Premier composant :

<template>
    <PreliminaryInformationUsageCode :is-readonly="isReadonly" />
</template>

<script>
    import PreliminaryInformationUsageCode from './form/PreliminaryInformationUsageCode.vue'
    export default {
        name: 'FormPage',
        computed: {
            form() {
                return this.$store.getters['form/form']
            },
            isReadonly: function() {
                //return true
                return false
            }
        },
        components: {
            PreliminaryInformationUsageCode,
        },
    }
</script>

Deuxième volet :

<template>
    <v-select
      v-model="usageCodesSelected"
      :items="usageCodes"
      item-text="name"
      item-value="code"
      label="Label"
      multiple
      hint="Hint"
      persistent-hint
      v-bind:readonly="isReadonly"
    >
        <template v-slot:selection="{ item, index }">
            <v-chip v-if="index === 0">
                <span>{{ item.name }}</span>
            </v-chip>
            <span
              v-if="index === 1"
              class="grey--text text-caption"
            >
                (+{{ usageCodesSelected.length - 1 }} дополнительно)
            </span>
        </template>
    </v-select>
</template>

<script>
    export default {
        name: 'PreliminaryInformationUsageCode',
        props: {
            isReadonly: {
                Boolean
            },
        },
        data: function() {
            return {
                usageCodesSelected: [
                ],
                usageCodes: [
                ],
            }
        },
    }
</script>
cafertayyar

Utilisez ceci:

<PreliminaryInformationUsageCode :is-readonly="isReadonly"/>

et au lieu d'utiliser la isReadonlyfonction, définissez un calculé comme :

computed: {
   isReadonly() {
      return this.form.status.seq != 10;
   }
}

Articles connexes


Passer des accessoires de la route au composant dans React

asanas J'utilise react avec react-router pour un projet et je dois passer des accessoires au composant enfant de la route. J'ai cette configuration: App.js <Switch> <Route exact path='/' render={()=><Home num="2" someProp={100}/>} /> <Route path='/roster'

Comment passer des accessoires au composant dans le slot?

Iaroslav Saenko Je développe une application Vue avec pimcore et twig dans le backend. Je dois créer un composant qui reçoit le slot (un autre composant) et le rendre à l'intérieur, mais avec des accessoires dynamiques. Voici la racine dans viani.twig.html : <

Comment passer des accessoires au composant modal dans React Native

Venkat Sai Je dois passer les données Flatlist en modal dans React native. Comme, en cliquant sur l'élément de la liste plate, il affiche le modal avec les données de l'élément sélectionné. Voici mon code ci-dessous Home.js import React, { Component } from 're

Passer des accessoires de la mise en page au composant

utilisateur3026715 Je suis donc assez nouveau dans la vue et mon googlefu n'est peut-être pas assez bon, mais ce que j'essaie de faire, c'est de transmettre les accessoires de layout => global component. Est-ce quelque chose qui est possible? Je joue actuellem