前情

uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,公司项目就是主推uni-app。

坑位

最近在开发一个需求,就是一段文本,其中有些文本需要做特殊标签样式显示,而对于文本我一般习惯性用text组件包裹。但今天不知道是手抖,还是心血来潮,我在text标签里包裹了一个view组件,于是出现如下代码:

<view class="good-title ellipsis-2">
<text style="font-size: 28rpx;color: #2D2D2D;font-weight: 500;">
<text class="good-text">99新</text>
<view class="good-text !zhs-bg-[#4D955D] !zhs-text-white">可换新</view>
<text class="good-name-long">抖音 iphone11 99新 64G</text>
</text>
</view>

上述代码会在快手小程序上报一个警告,提示text组件不允许嵌套其它组件,但是显示是正常,而在抖音小程序上最终渲染的结果如下:

Why?

我猜是抖音小程序的限制,text组件中只允许嵌套text组件和文本,其它组件会直接暴力丢弃渲染。

于是查询抖音小程序的官方文挡,有一条说明应该是想说明支持嵌套的组件,但可能是文挡有错误,并没有说明只支持嵌套什么,我想它的正确内容应该是:组件内只支持嵌套text组件和文本

解决方案

把view标签换成text标签或者把父级text换成view标签即可,代码如下:

<view class="good-title ellipsis-2">
<view style="font-size: 28rpx;color: #2D2D2D;font-weight: 500;">
<text class="good-text">99新</text>
<text class="good-text !zhs-bg-[#4D955D] !zhs-text-white">可换新</text>
<text class="good-name-long">抖音 iphone11 99新 64G</text>
</view>
</view>

总结

在使用text组件的时候,有如下使用tip是我们应该知道的,以便更好的使用它

  • 除了文本组件以外的其他组件内的文字都无法长按选中
  • 是个组件,性能不如文本节点,如无必要,请优先使用纯文本节点
  • 文本中的 \n 会换行
  • 组件内只支持嵌套text组件和文本

uni-app小程序(抖音)text组件使用踩坑的更多相关文章

  1. 关于微信小程序获取二维码的踩坑记录

    1.踩坑需求:获取小程序的二维码 2.踩坑接口: https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN3 踩坑代码 pu ...

  2. 微信小程序无法获取到unionId(专业踩坑20年)

    UnionID机制说明如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用.网站应用和公众帐号(包括小程 ...

  3. 微信小程序使用weui扩展组件踩坑

    最近在做微信小程序,引入weui的时候踩坑了好久,这里记录一下遇到的问题. 微信官方文档给了两种weui引入方式: 通过 useExtendedLib 扩展库 的方式引入,这种方式引入的组件将不会计入 ...

  4. 微信小程序开发—快速掌握组件及API的方法

    微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支 ...

  5. 微信小程序开发—快速掌握组件及API的方法---转载

    微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支 ...

  6. uni与小程序,vue的区别

    标签区别 uni使用小程序的标签,vue使用web端的标签 标签名变化的: 标签描述\类别 vue uniapp 文本 span\font text 链接 a navigator/ router-li ...

  7. [小程序开发] 微信小程序audio音频播放组件+api_wx.createAudioContext

    引言: audio是微信小程序中的音频组件,可以轻松实现小程序中播放/停止音频等自定义动作. 附上微信小程序audio组件的相关属性说明:https://mp.weixin.qq.com/debug/ ...

  8. 小程序 模态对话框自定义组件(modal)

    1. 概述 1.1 说明 小程序中使用wx.showModal(Object object)打开一个模态对话框,但是目前小程序所提供的modal中的内容显示比较死板,不能够完全满足工作中所遇到的功能信 ...

  9. 微信小程序(3)——常用的组件

    view: view是小程序中的视图容器之一,似于html中的<div>标签 <view class="section"> <view class=& ...

  10. 百度小程序自定义通用toast组件

    百度小程序Toast组件 author: @TiffanysBear 百度小程序自定义通用toast组件 BdToast百度小程序自定义通用组件-github地址 需求 手百小程序的toast仅支持在 ...

随机推荐

  1. vue3 3.3.4

    https://cn.vuejs.org/guide/introduction.html#what-is-vue 简介 import { createApp } from 'vue' createAp ...

  2. android IO Prefetch源码分析

    I/O Prefetcher是高通本身提供的一套优化方案,可以用在Android手机App冷启动的时候.本文基于android Q 主要分libqti-iopd.vendor.qti.hardware ...

  3. 2024年2月中国数据库排行榜:PolarDB夺魁首登顶,TiDB攀升回探花

    银装素裹覆大地,春意初醒待来临.2024年2月墨天轮中国数据库流行度榜单出炉,表现最亮眼的无疑是PolarDB,其自23年7月以来一路高歌猛进,此次更是一举夺魁,彰显了云原生数据库的蓬勃发展态势,Oc ...

  4. 前端 面试 html css 如何让一个盒子水平垂直居中?

    方法1  使用子绝父相 定位  推荐 说明: 让父元素相对定位,因为要让子元素以父元素为参考对象,如果父元素不设置定位,子元素的参考对象就是整个页面document: 子元素绝对定位,top:50%: ...

  5. js中常见的继承

    1. 使用原型链继承 2. 通过构造函数继承 通过构造函数,创建的实例,可以访问构造函数的属性和方法,以及可以访问构造函数的原型对象 prototype 上的数据和方法 : 3. 组合继承(1 和 2 ...

  6. 什么是Streamlit

    最近,我在数据分析的一些任务中尝试了闻名已久的Streamlit,再一次感受到Python的强大之处. 于是,准备根据自己的掌握情况,写一个介绍Streamlit的系列. 本文作为第一篇, 先介绍介绍 ...

  7. Android复习(五)设备兼容—>屏幕适配

    1. 适配使用的布局 目前版本Google还是希望开发者通过 ConstraintLayout 布局完成适配 2. 对于特定屏幕 创建备用布局,即在res/layout/目录下创建对应尺寸的布局文件 ...

  8. Plain-Det:同时支持多数据集训练的新目标检测 | ECCV'24

    近期在大规模基础模型上的进展引发了对训练高效大型视觉模型的广泛关注.一个普遍的共识是必须聚合大量高质量的带注释数据.然而,鉴于计算机视觉中密集任务(如目标检测和分割)标注的固有挑战,实际的策略是结合并 ...

  9. 彻底搞懂ScheduledThreadPoolExecutor

    前言 项目中经常会遇到一些非分布式的调度任务,需要在未来的某个时刻周期性执行.实现这样的功能,我们有多种方式可以选择: Timer类, jdk1.3引入,不推荐. 它所有任务都是串行执行的,同一时间只 ...

  10. 学习JavaScript第一天

    文章目录 1.JavaScript简介 2.JavaScript编写的位置 2.1.内部JavaScript 2.2外部JavaScript 2.3内联JavaScript 3.JavaScript注 ...