Home

Awesome

<p align="center"> <svg width="256px" height="221px" viewBox="0 0 256 221" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid"> <g> <path d="M204.8,0 L256,0 L128,220.8 L0,0 L50.56,0 L97.92,0 L128,51.2 L157.44,0 L204.8,0 Z" fill="#41B883"></path> <path d="M0,0 L128,220.8 L256,0 L204.8,0 L128,132.48 L50.56,0 L0,0 Z" fill="#41B883"></path> <path d="M50.56,0 L128,133.12 L204.8,0 L157.44,0 L128,51.2 L97.92,0 L50.56,0 Z" fill="#35495E"></path> </g> </svg> </p> <h1 align="center">vue3-recaptcha2</h1> <p align="center">Vue v3 component for Google reCAPTCHA v2</p>

Installation

npm install vue3-recaptcha2

Example usage

With bundlers

<template>
  <vue-recaptcha v-show="showRecaptcha" sitekey="key"
		 size="normal" 
		 theme="light"
		 hl="tr"
		 :loading-timeout="loadingTimeout"
		 @verify="recaptchaVerified"
		 @expire="recaptchaExpired"
		 @fail="recaptchaFailed"
		 @error="recaptchaError"
		 ref="vueRecaptcha">
  </vue-recaptcha>
</template>

<script>
import vueRecaptcha from 'vue3-recaptcha2';

export default {
  name: 'app',
  components: {
	vueRecaptcha
  },
  data() {
	return {
		showRecaptcha: false,
		loadingTimeout: 30000 // 30 seconds
	}
  },
  methods: {
	recaptchaVerified(response) {
	},
	recaptchaExpired() {
	  this.$refs.vueRecaptcha.reset();
	},
	recaptchaFailed() {
	},
	recaptchaError(reason) {
	}
  }
};
</script>

With CDN

<div id="app">
    <button v-on:click="toggle">Show</button>
    <vue-recaptcha v-if="show" :sitekey="recaptchaSiteKey" v-on:verify="recaptchaUpdated" hl="ru"></vue-recaptcha>
</div>

<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/vue3-recaptcha2"></script>
<script>
	const app = Vue.createApp({
	    name: "app",
	    components: {
		VueRecaptcha
	    },
	    data() {
		return {
		    show: false,
		    recaptcha: null,
		    recaptchaSiteKey: 'key'
		}
	    },
	    methods: {
		toggle() {
		    this.show = !this.show;
		},
		recaptchaUpdated(recaptcha) {
		    this.recaptcha = recaptcha;
		}
	    }
	});
	app.mount("#app");
</script>

API

Props

Methods

Events