uni-app中<text></text>组件selectable设置为true,在循环里长按点击会全选所有text框里面文字

uni-app中<text></text>组件selectable设置为true,在循环里长按点击会全选所有text框里面文字

开发环境 版本号 项目创建方式
Windows 7 HBuilderX
### 操作步骤:
1. 111

### 预期结果:
1. 111

### 实际结果:
1. 111

### bug描述:
`<text>`中selectable设置为true,放到循环里面,然后长按点击全选,会选中所有text框里面文字,麻烦帮我尽快看一下,然后不管是什么问题也麻烦告知一下,非常着急!!!感谢

![图片](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20210712/e230deab5d29dd44165c26cfb2c8b66f.jpg)
![图片](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20210712/76ddb789533ed0d4064669406a5af424.jpg)

更多关于uni-app中<text></text>组件selectable设置为true,在循环里长按点击会全选所有text框里面文字的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

请问有解决吗

更多关于uni-app中<text></text>组件selectable设置为true,在循环里长按点击会全选所有text框里面文字的实战教程也可以访问 https://www.itying.com/category-93-b0.html


没有,最后没有这种方法,改成长按直接复制啦,太痛苦了,应该是官方没有考虑过这个问题

这是一个已知的 uni-app 平台差异问题。在部分安卓设备上,当 <text> 组件设置 selectable="true" 并处于循环渲染时,系统文本选择机制会错误地高亮多个文本区域。

问题原因:

  • 原生文本选择功能在列表渲染场景下存在识别偏差
  • 循环生成的 <text> 组件可能共享了相同的选择标识

临时解决方案:

  1. 为每个循环项添加唯一标识
<text v-for="(item, index) in list" 
      :key="index" 
      selectable="true"
      :id="'text-'+index">
  {{item.content}}
</text>
  1. 改用 <view> 配合 CSS 样式实现类似效果
<view v-for="(item, index) in list" 
      :key="index"
      style="-webkit-user-select: text; user-select: text;">
  {{item.content}}
</view>
回到顶部