Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Modulo botão, não dispara a ação submit

Boa tarde, segui todos os passos até aqui, porém, o meu botão não dispara a ação.

<template>
    <buttom
        @click="disparaAcao()"
        :type="tipo"
        :name="nome"
        class="botao"
        :class="estiloDoBotao"
    >
        {{ rotulo }}
    </buttom>
</template>

<script>
    export default {
        props: {
            tipo: {
                required: true,
                type: String
            },
            rotulo: {
                required: true,
                type: String
            },
            nome: String,
            confirmacao: Boolean,
            estilo: String
        },
        methods: {
            disparaAcao(){
                if(this.confirmacao) {
                    if(confirm('Confirma a operação?')) {
                        this.$emit('botaoAtivado');
                    }
                    return;
                }
                this.$emit('botaoAtivado');
            }
        },
        computed: {
            estiloDoBotao: function () {
                if (this.estilo === 'padrao' || !this.estilo) return 'botao-padrao';
                if (this.estilo === 'perigo') return 'botao-perigo';
            }
        }
    }
</script>

<style lang="scss" scoped>
    .botao {
        display: inline-block;
        padding: 10px;
        border-radius: 3px;
        margin: 10px;
        font-size: 1.2em;
        cursor: pointer;
    }

    .botao-padrao {
        background: #0000ff;
        color: white;
    }

    .botao-perigo {
        background: firebrick;
        color: white;
    }
</style>

Alguém sabe o que fazer?

4 respostas
solução!

Acredito que seja por que seu Button está escrito com "M". Tirando isso o código parece correto

Caraca, depois de anos programando, fico perdido por uma coisa tão besta kkkk Valeu Allan!

No entanto, como eu estava com esse problema, minha solução foi passar o evento para o próprio componente, ao invés de passar pelo formulário. Funcionou da mesma forma.

Poxa, eu sei como você se sente, Carlos, às vezes eu me pego escrevendo documnet em vez de document hahahha

Mas que bom que deu pra resolver!

Uso muito o VueJS. Precisando de alguma coisa, só dar um toque! Já programei muito sistema com ele!