Taro支持富文本(微信小程序)图片样式问题及可点击事件

这篇具有很好参考价值的文章主要介绍了Taro支持富文本(微信小程序)图片样式问题及可点击事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

react提供的dangerouslySetInnerHTML即可

这个属性相比于其他方案的优势在于:1. 支持修改富文本样式  2. Taro官方属性,比插件靠谱

使用这个属性存在两个问题需要解决

1、需要解决图片样式错乱问题
2、图片点击可放大

tips:

正常方式无法绑定事件,样式设置不生效

import { View, Image } from '@tarojs/components';
import {  useLayoutEffect } from 'react';
import styles from './index.module.scss';
import Taro from '@tarojs/taro';
const Parse = ({ imgClick, node }) => {
  useLayoutEffect(() => {
      // 修改图片行内默认样式
      (Taro as any).options.html.transformElement = el => {
        if (el.nodeName === 'image') {
          el.setAttribute('mode', 'widthFix');
        //   图片增加点击事件
          el.__handlers.tap = [() =>{
                imgClick(el.props.src)
          }]
        }
        return el;
      };
  }, [node]);
  return (
    <View className={styles.parse}>
      <View  dangerouslySetInnerHTML={{ __html: node }}></View>
    </View>
  );
};
export default Parse;
.parse image{
    width: 100%!important;
}
import Parse from './components/parse/index'


   // 点击图片放大
  const imgClick =(e)=>{
    console.log(e,'点击放大')
    if (!e) return false;
    Taro.previewImage({
      current: e,
      urls: [e]
    });
  } 



<Parse imgClick={imgClick} node={content} />

taro 绑定点击事件,javascript,前端,react.js

 taro 绑定点击事件,javascript,前端,react.js

真机测试没有问题 

以上会丢失功能标签样式问题,建议使用插件
mp-html插件,原生写法, 不支持taro,可以使用原生混用的写法引入
  Taro 文档

   小程序富文本组件文章来源地址https://www.toymoban.com/news/detail-692515.html

到了这里,关于Taro支持富文本(微信小程序)图片样式问题及可点击事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序--Taro框架实际开发中的问题汇总

    前言:微信小程序相信大家都不陌生,目前小程序开发主流的框架有微信 原生开发 , uni-app ,以及今天的重点 Taro 。编者自身小程序开发经验也不多,仅针对自身在小程序开发中的问题做一次汇总,望更多像我一样的小白少走 一点弯路。 注意:本篇博客中小程序开发基于

    2024年02月16日
    浏览(36)
  • [微信小程序踩坑]微信小程序editor富文本组件渲染字符串时,内部图片超出大小导致无法正常渲染或回显(数据传输长度为 3458 KB,存在有性能问题!)

    富文本组件: 回显方法: bug复现: 数据:\\\"p杰佛的撒娇佛是阿达分阶段实施的佛教的撒img src=\\\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/

    2024年02月08日
    浏览(34)
  • 微信小程序 rich-text富文本框 怎么设置里面节点的样式

    1、 在JS中我们获取数据,在没有类名的情况下 使用正则匹配你想要添加演示的节点  res[1].data[0].f_content为rich-text里面的节点 如图  代码:让获取的节点中的图片的最大宽度为100%,高度为auto 初始状态:图片超过div            效果:  

    2024年02月16日
    浏览(26)
  • 微信小程序富文本修改图片的大小

    有时后端直接返回的富文本内容,前端展示的时候会出现图片太大或太小,所以需要处理一下,,,实现并不难,主要是利用replace方法全局替换图片img标签的style样式,修改其宽度样式。 1.replace方法全局添加图片img标签的style样式 理解后想替换什么就替换什么。 2.页面标签显

    2024年02月11日
    浏览(29)
  • 微信小程序 - 修改多行文本输入框 placeholder 属性换行显示文字样式的详细教程

    多行文本输入框是微信小程序中常用的组件之一,而placeholder属性则用于在输入框中显示提示文本。然而,默认情况下,placeholder属性中的文字无法实现换行显示,这可能会导致在一些情况下显示不完整或不够明确。在本篇教程中,我将详细介绍如何修改多行文本输入框的pl

    2024年02月03日
    浏览(32)
  • 微信小程序不支持svg图片

    如果想使用svg也要转换成base64或者网络图片 否则在开发者工具中是显示图片的 而在手机微信预览中就无法显示图片 让人疑惑 require()是nodejs的写法 用于导入模块、JSON 和本地文件 可以使用相对路径 该路径可以使用路径别名命名的目录或当前工作目录进行解析。 在vue中使用

    2024年02月09日
    浏览(27)
  • 【taro react】---- 解决开发环境微信小程序由于主包体积过大不能预览问题

    1. 开发环境代码包大小 注意:可以看到此时主包加分包将近 5MB,上传预览将会超出限制!!! 2. 预览结果 报错:代码包大小超过限制,主包资源近3MB,限制最大2MB!!! 3. 解决办法 使用webpack的压缩插件,在开发环境编译的时候进行压缩; 进行分包处理,同时依赖也进行

    2024年02月10日
    浏览(30)
  • uniapp解析富文本(包含图片)微信小程序+app可用

     最终效果图: 1、uniapp中,在需要使用的vue界面中  2、在后端php中,将提交保存到数据库的富文本图片路径更改为含http或https的(含自己域名的),不然图片无法展示。 将 img src=\\\"upload/article/2022/04-03/273e82bf525920976b0aa5d845a59cb9.jpg\\\" alt=\\\"\\\" style=\\\"display:inline-block;height:auto;max-width:100%\\\"

    2024年02月16日
    浏览(19)
  • 关于在微信小程序中使用taro + react-hook后销毁函数无法执行的问题

    问题: 在 taro中使用navigageTo() 跳转路由后hook中useEffect 的return函数没有执行 没有执行return函数 框架版本:      tarojs:  3.6                            react:   18.0    原因: 使用navigateTo() 跳转路由的话并不会销毁页面和组件,会加入一个最大数量为十层的路由

    2024年01月24日
    浏览(32)
  • uniapp rich-text 富文本组件在微信小程序中自定义内部元素样式

    rich-text 富文本组件在 微信小程序 中,无法直接通过 外部css样式 控制文章内容样式。 解决方案:将传入的富文本内容截取并添加自定义样式类名 (1)全局配置filter方法,实现富文本内容截取转换,附上‘rich-txt-p’样式类 (2)在app.vue中编辑‘rich-txt-p’内容,即富文本需要

    2024年02月19日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包