微信小程序之Image那些事

2023-11-15

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

小程序中 Image使用频率是非常高的 不同场景下 Image使用的属性也不一样

一、使用场景

因为小程序的image是有默认大小的 所以在使用时不得不手动去设置大小 单一图片都好处理 如果是动态渲染的 该怎么处理呢 大部分处理处理方式就是宽度百分百 高度自适应 或者高度百分百 宽度自适应 那么我们该如何精准处理呢

二、使用方式

1.动态读取image大小

文档地址

在这里插入图片描述
通过load方法得到原始图片的宽高。

2.动态设置style

这里是vue3的语法 供参考

<view class="paperList">
 <view
   class="paperItem"
   v-for="(item, i) in vdata.imageList"
   :key="item"
   @tap="lookDetail(i)"
 >
   <image
     mode="widthFix"
     :src="item"
     :style="{ width: vdata.imgSize[i + '_' + 'index'] || 0 }"
     @load="(e) => getImgSize(e, i + '_' + 'index')"
   ></image>
 </view>
</view>

import { reactive } from 'vue'
const vdata: any = reactive({
  imageList: [],
  imgSize: {},
})

3.动态赋值

const getImgSize = (e, index, type?: Number) => {
  let maxWidth = type || vdata.mainWidth
  const { width } = e.detail

  if (width > maxWidth) {
    vdata.imgSize[index] = `${maxWidth}px`
  } else {
    vdata.imgSize[index] = `${width}px`
  }
}

总结

宽度百分百 高度自适应 如果宽度大于某个值 设置最大值 如果小于 则取图片宽度 通过bindload读取宽度 然后动态设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序之Image那些事 的相关文章

  • 软件测试--------(人员管理web项目)

    软件测试计划书 1 引言部分 2 任务概述 3 测试项 4 需要测试的功能 5 方法与策略 6 不需测试的功能 7 测试项通过 失败的标准 8 测试中断和恢复的规定 9 测试完成所提交的材料 10 环境需求 11 测试人员的工作职责 12
  • uni-app实现点击按钮复制内容

    uni setClipboardData obj API方法
  • 手撸算法-两数之和-牛客

    描述 给出一个整数数组 请在数组中找出两个加起来等于目标值的数 你给出的函数twoSum 需要返回这两个数字的下标 index1 index2 需要满足 index1 小于index2 注意 下标是从1开始的 假设给出的数组中只存在唯一解
  • 记一次映射公网地址FTP服务问题的解决方法

    因为需要FTP公网进行访问 遂在公司搭建FTP服务使用软件 免费开源的Fillzilla Server版本 当然这不是主要的添加用户密码 用户访问目录 更改21端口为21212出现棘手问题 因为公司使用cisco路由器公网接入 默认所有公网
  • JavaWeb 文件上传和下载

    目录 一 文件上传 1 文件上传和下载的使用说明 2 文件上传基本原理 3 文件上传经典案例 3 1 页面实现 3 2 servlet实现 3 3 工具类实现 3 4 运行测试 3 5 注意事项 二 文件下载 1 文件下载基本原理 2 文件
  • 2023年自学网络安全学习路线,收藏这一篇就够了(超详细)

    00 网络安全为啥突然 火 了 随着网络空间成为第五空间 社会基础产业全面互联网化 网络安全 或称广义的信息安全 面临的威胁越来越大 对网络安全的人才需求也呈现出井喷趋势 即使目前很多人可以自学成才 网络空间安全 也成为一级学科 但根据 第
  • js动态加载js和css

    一 动态加载CSS动态创建css样式有两种方式 1 动态插入css外部文件的方法 function loadStyle url var link document createElement link link type text css
  • Android Instrumentation模拟鼠标点击事件

    看了几遍网上的博客一直没有 模拟出鼠标点击事件和按钮事件 后来抱着试试态度再重试的时候终于有所斩获 下面把具体的情况记录一下 首先我们必须了解类 Instrumentation Instrumentation发送键盘鼠标事件 Instrum

随机推荐

  • 什么是DNS服务器?有哪些作用?

    什么是DNS服务器 DNS服务器是 Domain Name System或者Domain Name Service 域名系统或者域名服务 域名系统为Internet上的主机分配域名地址和IP地址 用户使用域名地址 该系统就会自动把域名地址转
  • 智能一体化运维平台(一)java实现ssh连接

    一 思路 1 作为java的web后台应用 在做ssh连接的时候 比如导入所需要的协议jar包 如ssh jar 本次测试 本人使用的是 2 导入jar包后 开始进入代码编程 首先需要进行创建用户名 密码 端口 ip地址等变量 用来存储对应
  • 腾讯云技术分享:MySQL AHI 实现解析

    MySQL 定位用户记录的过程可以描述为 打开索引 gt 根据索引键值逐层查找 B 树 branch 结点 gt 定位到叶子结点 将 cursor 定位到满足条件的 rec 上 如果树高为 N 则需要读取索引树上的 N 个结点并进行比较 如
  • linux 线程和进程的区别与联系::

    进程 承担分配系统资源的基本实体 线程 调度的基本单位 线程是进程里面的执行流 线程在进程的地址空间内运行 linux中没有真正意义上的线程 线程是用进程模拟的 地址空间上 线程没有自己独立的地址空间 共享进程的空间 但是进程包含独立的地址
  • 微信小程序-“授权失败”场景的优雅处理

    微信小程序中提供了相关API 让开发者能获取到微信用户的相关信息 在首次去获取的时候会展示一个用户是否同意授权的对话框 发现有不少线上的小程序都没有处理好用户 拒绝授权 导致的 授权失败 场景 一个观点 私认为 开发微信小程序在用户授权上有
  • 蘑菇街前端面试

    vue与jquery的区别 为什么现在很多人使用vue vue怎样实现双向数据绑定 内部原理 1 jQuery首先要获取到dom对象 然后对dom对象进行进行值的修改等操作 2 Vue是首先把值和js对象进行绑定 然后修改js对象的值 Vu
  • iview Table中switch值无法刷新问题

    table里面的开关在修改状态以后 翻页后状态不在变化 render h params gt return h i switch props size large value params row filterContact on可以传入绑
  • Tkinter 组件详解(七):Entry

    Tkinter 组件详解之Entry Entry 输入框 组件通常用于获取用户的输入文本 何时使用 Entry 组件 Entry 组件仅允许用于输入一行文本 如果用于输入的字符串长度比该组件可显示空间更长 那内容将被滚动 这意味着该字符串将
  • leetcode刷题——多维枚举(一)

    题目一 思路 双指针 bool isSubsequence char s char t int fast 0 int slow 0 while slow
  • JavaWeb之Servlet详解

    文章目录 一 什么是Servlet 二 Servlet 1 Servlet是如何起作用的 2 Servlet接口中的方法 3 Servlet对象的生命周期 三 ServletConfig 1 什么是ServletConfig 2 Servl
  • MOS驱动自举电容和限流电阻的选取

    自举电容选取 最近做逆变时出现了异常 使用2104驱动MOS管 蓝色为滤波后双端带载时出现的波形 一端带载时没有问题 放大波形后发现输出波形在占空比满值时垮掉 产生严重的震荡 可以看到波形顶部斜向下 我们可以推断是驱动自举电容值偏小 当占空
  • ARMv8-A 地址翻译技术之MMU的前世今生

    MMU的重要性不言而喻 支撑操作系统之上的各种复杂应用 但在正式讲MMU之前 我们先说说MMU的发展史 因为ARMv8 A的MMU相当复杂 直接切入正题 会显得比较枯燥 废话不多说 咱们马上开始 一 前言 关于虚拟内存系统的演变史 MMU在
  • 计划 060703

    ESOE项目暂时作为一个自娱型项目 每日投入30分钟 近期按计划完成以下工作 1 完成计划 ok 2 完成对ESOE项目的介绍 ok 060704 3 在blog发布已有的 ESOE Specification v0 1 doc 英文版 o
  • 什么是.NET架构

    什么是 NET架构 NET架构主要分为3部分 FCL Framework Class Library CTS Common Type System 其中包括Common Language Specification CLR Common L
  • 教你自制一款简单的助听器

    助听器实质上是一种低频放大器 可用耳机进行放音 当使用者用上耳机后 可提高老年者的听觉 同时可对青少年的学习和记忆能带来方便 一 工作原理 本电路由话筒 前置低放 功率放大电路和耳机等部分组成 原理电路图见图1 其印刷板电路图见图2 驻极体
  • c++面对对象基础知识

    一 类的定义格式 class calss name private data member declarations public member functions 二 构造函数 1 在程序声明对象时 将自动调用构造函数 2 c 提供两种构
  • 腾讯2017暑期实习生笔试题题解

    7个月没有刷题了 现在真的是菜到爆炸 所以来牛客水一水编程题 一 构造回文 题意 给定一个字符串s 你可以从中删除一些字符 使得剩下的串是一个回文串 如何删除才能使得回文串最长呢 输出需要删除的字符个数 输入描述 输入数据有多组 每组包含一
  • 获取配置文件中的属性

    spring boot的工程启动的时候 内部文件默认是加载classpath路径或者classpath config目录下的application properties文件的 当然也可以指定加载其它的配置文件 如何获取配置文件中的属性呢 实
  • VSCODE如何汉化成中文

    VSCODE默认是以英文显示的 对于不习惯用英文的朋友可以将VSCODE汉化成中文 小编来说下如何汉化吧 工具 原料 VSCODE 方法 步骤 1 VSCODE默认情况下是英文的 点击左侧菜单栏最底下的四方形按钮打开扩展程序界面 在输入框内
  • 微信小程序之Image那些事

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 使用场景 二 使用方式 1 动态读取image大小 2 动态设置style 3 动态赋值 总结 前言 小程序中 Image使用频率是非常高的 不同场景下