HarmonyOS 鸿蒙Next 请问怎么取消Text文本的选中状态 除了使用selection指定start end以外 还有其它方法吗

HarmonyOS 鸿蒙Next 请问怎么取消Text文本的选中状态 除了使用selection指定start end以外 还有其它方法吗 请问怎么取消Text文本的选中状态,除了使用selection指定start end以外,还有其它方法吗

2 回复

可以用onTextSelectionChange

onTextSelectionChange是监听文本选择位置的变化。取消选中时,文本的位置同样也会变化:end=-1。所以同样会监听到onTextSelectionChange 在这个监听方法里,去处理取消的条件,当满足条件时,调用controller手动关闭selectionMenu即可

Text("测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试",{
  controller:this.TextController
}).maxLines(10)
  .copyOption(CopyOptions.InApp)
  .selection(this.sectionStart,this.sectionEnd)
  .onTextSelectionChange((s:number,e:number)=>{
    if(e>20){ //自定义的关闭选中状态的规则,满足规则,用text的controller调用closeSelectionMenu方法关闭选择菜单
      this.TextController.closeSelectionMenu()
    }
  })

更多关于HarmonyOS 鸿蒙Next 请问怎么取消Text文本的选中状态 除了使用selection指定start end以外 还有其它方法吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,取消Text文本的选中状态可以通过调用clearSelection()方法实现。该方法可以直接清除文本的选中状态,无需通过selection指定startend。具体示例如下:

import { Text } from '@ohos.text';

let text = new Text();
text.clearSelection();

clearSelection()方法会立即取消当前文本的选中状态,适用于需要快速清除选中状态的场景。

回到顶部