props.js 2.9 KB
/*
 * @Author       : jry
 * @Description  :
 * @version      : 3.0
 * @LastAuthor   : jry
 * @lastTime     : 2025-08-16 16:35:24
 * @FilePath     : /uview-plus/components/u-album/props.js
 */
import { defineMixin } from '../../libs/vue'
import defProps from '../../libs/config/props.js'

export const props = defineMixin({
    props: {
        // 图片地址,Array<String>|Array<Object>形式
        urls: {
            type: Array,
            default: () => defProps.album.urls
        },
        // 指定从数组的对象元素中读取哪个属性作为图片地址
        keyName: {
            type: String,
            default: () => defProps.album.keyName
        },
        // 单图时,图片长边的长度
        singleSize: {
            type: [String, Number],
            default: () => defProps.album.singleSize
        },
        // 多图时,图片边长
        multipleSize: {
            type: [String, Number],
            default: () => defProps.album.multipleSize
        },
        // 多图时,图片水平和垂直之间的间隔
        space: {
            type: [String, Number],
            default: () => defProps.album.space
        },
        // 单图时,图片缩放裁剪的模式
        singleMode: {
            type: String,
            default: () => defProps.album.singleMode
        },
        // 多图时,图片缩放裁剪的模式
        multipleMode: {
            type: String,
            default: () => defProps.album.multipleMode
        },
        // 最多展示的图片数量,超出时最后一个位置将会显示剩余图片数量
        maxCount: {
            type: [String, Number],
            default: () => defProps.album.maxCount
        },
        // 是否可以预览图片
        previewFullImage: {
            type: Boolean,
            default: () => defProps.album.previewFullImage
        },
        // 每行展示图片数量,如设置,singleSize和multipleSize将会无效
        rowCount: {
            type: [String, Number],
            default: () => defProps.album.rowCount
        },
        // 超出maxCount时是否显示查看更多的提示
        showMore: {
            type: Boolean,
            default: () => defProps.album.showMore
        },
        // 图片形状,circle-圆形,square-方形
        shape: {
            type: String,
            default: () => defProps.image.shape
        },
        // 圆角,单位任意
        radius: {
            type: [String, Number],
            default: () => defProps.image.radius
        },
        // 自适应换行
        autoWrap: {
            type: Boolean,
            default: () => defProps.album.autoWrap
        },
        // 单位
        unit: {
            type: [String],
            default: () => defProps.album.unit
        },
        // 阻止点击冒泡
        stop: {
            type: Boolean,
            default: () => defProps.album.stop
        }
    }
})