Yb-components Yb-components
首页
开发规范
yb-cli
  • 开发指南
  • 更新日志
  • 组件
关于
首页
开发规范
yb-cli
  • 开发指南
  • 更新日志
  • 组件
关于
  • 开发指南
  • 更新日志
  • 数据展示

    • YbTable 表格
    • YbCardList 卡片列表
    • YbTree 树
    • YbCascaderList 级联列表
    • YbSimpleTablePage 分页查询表格
    • YbSimpleCardPage 分页卡片列表
    • YbBasicProfile 基础详情数据展示
    • YbOutscrollLayout 固定在滚动区域外
    • YbOutscrollTree 固定在滚动区域外的Tree
    • YbInfoLayout 信息页布局
    • YbEditLayout 编辑页布局
  • 数据录入

    • YbRowsPopoverForm 浮层多行表单
    • YbFormily 配置式表单
    • YbForm 表单
    • YbRowsForm 多行表单
    • YbCollapseForm 折叠表单
    • YbQueryFilter 筛选表单
    • YbFilesSelect 文件选择器
    • YbRangeWrapper 范围结构
    • YbRangeDatepicker 日期范围
    • YbRange 范围
    • YbFormulaInput 简单运算公式输入
    • YbCron 表达式生成器
    • YbTreeSelect 树型选择器
    • YbInputgroupWrapper 复合组
    • YbThemeSelect 主题风格选择器
    • YbSelect 选择器
    • YbPaginationSelect 分页选择器
    • YbCodemirror 代码编辑器
    • YbCodemirrorSql SQL编辑器
    • YbCodemirrorJson JSON编辑器
    • YbCodemirrorXml XML编辑器
    • YbCombiDatepicker 组合时间
    • YbQuarterPicker 季度选择器
    • YbRangeQuarterPicker 季度范围选择器
    • YbConditionSelect 条件选择器
    • YbCheckboxGroup 多选框组
    • YbIconSelect 选择器
    • YbTagsInput 标签输入框
  • 其他组件

    • YbBallLoading 加载中
    • YbSymbolIcon 多色小图标
    • YbKeybuttonsPopover
    • YbPercentBattery 电池百分比
    • YbAffix 固钉
    • YbPagination 分页器
    • YbCollapse 折叠面板
    • YbScrollTool 滚动工具
  • 物料

    • YbMainSideMenu 侧栏菜单
    • YbLoadRemote 远程应用加载
    • YbLayoutPro 布局
    • YbMainPro 主页
    • YbAppMain 应用主页
    • YbAppLogin 普通登录页
    • YbAppPortal Portal登录页
  • 指令

    • v-fixed-in-scroller
  • Mixins

    • pageList_mixin
    • getScopedSlot_mixin
    • editFormPage_mixin
    • uploadProgressPage_mixin
    • rowActions_mixin
    • rowDeletes_mixin
    • drawerToRouterTab_mixin
  • 实验室

    • YbSwiper 轮播
    • 组件
    • 实验室
    liaoyingmin
    2023-06-21

    YbSwiper 轮播

    根据 swiper5.4.5 进行封装,处于实验状态,还未转正

    # 基本使用

    slider 1
    slider 2
    slider 3
    <template>
        <yb-swiper :slideItems="slideItems" class="base-use">
            <template v-slot="item">
                <div :style="item.style">{{item.text}}</div>
            </template>
        </yb-swiper>
    </template>
    <script>
        export default {
            data() {
                return {
                    slideItems: [
                        {
                            text: 'slider 1',
                            style: { background: '#4390ee' },
                        },
                        {
                            text: 'slider 2',
                            style: { background: '#ca4040' },
                        },
                        {
                            text: 'slider 3',
                            style: { background: '#ff8604' },
                        },
                    ],
                };
            },
        };
    </script>
    <style>
        .base-use .swiper-slide > div {
            height: 300px;
            color: white;
            text-align: center;
            font-size: 50px;
            line-height: 300px;
        }
    </style>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    显示 复制 复制

    # 自动计算展示个数

    new 属性
    navOutside
    itemWidth
    itemMargin
    swiperConfig 属性
    autoplay
    slider 1
    slider 2
    slider 3
    slider 4
    slider 5
    slider 6
    slider 7
    slider 8
    slider 9
    <template>
        <el-row>
            <el-col :span="6">
                <el-divider content-position="left">
                    <el-tag type="danger">new</el-tag>
                    属性
                </el-divider>
                <div style="margin-bottom:20px">
                    navOutside
                    <el-switch v-model="navOutside"></el-switch>
                </div>
                <div style="margin-bottom:10px">
                    itemWidth
                    <el-slider
                        style="width:180px;vertical-align: middle;"
                        v-model="slideLayout['itemWidth']"
                        :min="100"
                        :max="500"
                    />
                </div>
                <div>
                    itemMargin
                    <el-slider
                        style="width:180px;vertical-align: middle;"
                        v-model="slideLayout['itemMargin']"
                        :min="0"
                        :max="30"
                    />
                </div>
                <el-divider content-position="left"> swiperConfig 属性 </el-divider>
                <div style="margin-bottom:20px">
                    autoplay
                    <el-switch v-model="swiperConfig['autoplay']"></el-switch>
                </div>
            </el-col>
            <el-col :span="18">
                <yb-swiper
                    :slideItems="slideItems"
                    :navOutside="navOutside"
                    autoSize
                    :slideLayout="slideLayout"
                    class="computed"
                    :swiperConfig="swiperConfig"
                >
                    <template v-slot="item">
                        <div :style="item.style">{{item.text}}</div>
                    </template>
                </yb-swiper>
            </el-col>
        </el-row>
    </template>
    <script>
        export default {
            data() {
                return {
                    navOutside: false,
                    slideLayout: {
                        itemWidth: 300,
                        itemMargin: 0,
                    },
                    swiperConfig: {
                        autoplay: false,
                    },
                    slideItems: [
                        {
                            text: 'slider 1',
                            style: { background: '#4390ee' },
                        },
                        {
                            text: 'slider 2',
                            style: { background: '#ca4040' },
                        },
                        {
                            text: 'slider 3',
                            style: { background: '#ff8604' },
                        },
                        {
                            text: 'slider 4',
                            style: { background: '#4390ee' },
                        },
                        {
                            text: 'slider 5',
                            style: { background: '#ca4040' },
                        },
                        {
                            text: 'slider 6',
                            style: { background: '#ff8604' },
                        },
                        {
                            text: 'slider 7',
                            style: { background: '#4390ee' },
                        },
                        {
                            text: 'slider 8',
                            style: { background: '#ca4040' },
                        },
                        {
                            text: 'slider 9',
                            style: { background: '#ff8604' },
                        },
                    ],
                };
            },
        };
    </script>
    <style>
        .computed .swiper-slide > div {
            height: 300px;
            color: white;
            text-align: center;
            font-size: 50px;
            line-height: 300px;
            margin: 0 auto;
            /* width: 300px; */
        }
    </style>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    显示 复制 复制

    # YbSwiper Attributes

    参数 说明 类型 可选值 默认值
    slideItems 显示数据 array -- --
    navOutside 前进后退按钮是否显示在 slide 外边 boolean -- true
    autoSize 是否自动计算排列 boolean -- false
    slideLayout 用于计算一页展示的 slider 数量,当 autoSize 为 true 时生效,详见SlideLayout Attributes object -- {}
    swiperConfig Swiper 其他配置,详见Swiper 个性化配置 (opens new window) object -- {}

    # YbSwiper SlideLayout Attributes

    参数 说明 类型 可选值 默认值
    navWidth 前进后退按钮所在宽度,当 navOutside 为 true 时生效 number -- 200
    itemBoxShadow slider 的阴影宽度 number -- 0
    itemMargin slider 间的最小间距 number -- 0
    itemWidth slider 的最小宽度 number -- 0

    # YbSwiper Scoped Slots

    参数 说明
    - 当前配置的 slider 数据

    # YbSwiper Methods

    参数 说明
    getYbSwiper 返回 Swiper 实例,用于调用 Swiper 方法
    // 例如
    this.$refs['swiper'].getYbSwiper().enable();
    
    1
    2
    上次更新: 2023/06/29, 18:25:52
    drawerToRouterTab_mixin

    ← drawerToRouterTab_mixin

    Theme by Vdoing | Copyright © 2021-2025 YB-GZ | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式