iconSwiperBox.vue 1.52 KB
<template>
    <div class="icon-swiper-box" v-if="icons && icons.length">
        <swipe class="swipe" :autoplay="0" @change="onChange">
            <swipe-item class="swipe-item" v-for="(items, index) in icons" :key="index">

                <!-- 单个图标 -->
                <icons-com v-for="(item, i) in items" :key="i" @jump="jump(item)"
                    :item="item"
                    :noRadius="noRadius">
                </icons-com>
            </swipe-item>
        </swipe>
        <div style="clear: both;"></div>
    </div>
</template>

<script>

    // 引入组件
    import { Swipe, SwipeItem } from "vant";
    import iconsCom from "@/components/iconsCom/iconsCom";

    export default {
        name: 'iconSwiperBox',
        data() {
            return {
                
            }
        },
        props: ["icons", "noRadius"],
        components: {
            Swipe,
            SwipeItem,
            iconsCom
        },
        methods: {

            /**
             * 当swiper切换
             * @param {Int} index [切换swiper索引]
             */
            onChange(index) {
                this.$emit("onChange", index);
            },

            /**
             * 跳转
             * @param {Object} item [对象参数]
             */
            jump(item) {
                this.$emit("jump", item);
            }
        }
    }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style rel="stylesheet/less" lang="less" scoped>
    @import './iconSwiperBox';
</style>