WebApp【公共组件库】@前端(For Git Submodule)
chensiAb
2024-11-07 db036e639065504d953706db84b979e1addceaeb
forms/imagePicker/CImagePreview.vue
@@ -11,9 +11,10 @@
            mode="aspectFit"
            :lazyLoad="true"
            v-for="(img, index) of imgList"
            :src="img.thumb"
            :src="loadFail[index] ? img.org : img.thumb"
            :key="index"
            @tap="evt => $preview({ current: img.org, urls: imgs })"
            @error="evt => handleLoadError(index)"
        />
    </view>
</template>
@@ -48,11 +49,13 @@
        },
    },
    data() {
        return {};
        return {
            loadFail: [],
        };
    },
    computed: {
        imgList() {
            return this.imgs.map(img => ({
            return this.imgs.map((img, index) => ({
                org: img,
                thumb: this.useThumb
                    ? img.replace(/(.*?)(\.(png|jpg|jpeg|gif))$/, '$1_thumb$2')
@@ -61,6 +64,12 @@
        },
    },
    methods: {
        handleLoadError(index) {
            while (this.loadFail.length - 1 < index) {
                this.loadFail.push(false);
            }
            this.loadFail.splice(index, 1, true);
        },
        // option { current, urls }
        $preview(option) {
            // 网页模式下,增加缩放操作