gs-shop / vue-slick-carousel

🚥Vue Slick Carousel with True SSR Written for ⚡Faster Luxstay
https://gs-shop.github.io/vue-slick-carousel/
Other
809 stars 185 forks source link

Clicking dots submits Form #134

Open djaybalaji opened 4 years ago

djaybalaji commented 4 years ago

Clicking the dots to change slides submits the form:


<template>
    <form action="" @submit="formSubmit()">
        <VueSlickCarousel ref="carousel" v-bind="settings">
            <div v-for="(param, index) in parameters" :key="index">
                <h5>{{ param }}</h5>
            </div>
        </VueSlickCarousel>
    </form>
</template>

<script>
import VueSlickCarousel from "vue-slick-carousel";
import "vue-slick-carousel/dist/vue-slick-carousel.css";
import "vue-slick-carousel/dist/vue-slick-carousel-theme.css";
export default {
    name: "VueSlickCarouselTesting",
    components: {
        VueSlickCarousel,
    },
    data() {
        return {
            settings: {
                dots: true,
                dotsClass: "slick-dots",
                infinite: true,
            },
            parameters: ["Test1", "Test2", "Test3"],
        };
    },
    methods: {
        formSubmit() {
            alert("Form Submitted");
        },
    },
};
</script>
<style scoped></style>
mircea-chirita commented 3 years ago

That's because the button does not have a specified "type" attribute, so by default comes as "submit", which is not ok. You can fix this by adding custom pagination as described here Customizing arrow dots