HarmonyOS text组件设置copyOption

Text组件设置了.copyOption(CopyOptions.LocalDevice),是只能复制Text组件中的文本内容,不能将已复制的内容粘贴到Text中吗?设置了.copyOption(CopyOptions.LocalDevice)后,长按只有复制没有粘贴选项。如何实现这种效果,将内容能粘贴到Text组件上或者使用TextInput可以进行复制粘贴,但是禁止键盘弹出。

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可以长按text粘贴也可以长按TextInput粘贴,参考示例:

import { LengthMetrics } from '@kit.ArkUI'
import { BusinessError, pasteboard } from '@kit.BasicServicesKit'

@Component
export struct TextCopy {
  @State text: string = "世界"

  @Builder
  MyMenu() {
    Menu() {
      MenuItem(this.CustomPasteButton())
    }
  }

  @Builder
  CustomPasteButton() {
    PasteButton({ buttonType: ButtonType.Normal, icon: PasteIconStyle.LINES })
      .onClick(() => {
        pasteboard.getSystemPasteboard().getData((err: BusinessError, pasteData: pasteboard.PasteData) => {
          if (err) {
            console.error(`Failed to get paste data. Code is ${err.code}, message is ${err.message}`);
            return;
          }
          // 剪贴板内容
          this.text = pasteData.getPrimaryText() || "";
        });
      })
  }

  @Builder
  CustomBoard() {

  }

  build() {
    Flex({ wrap: FlexWrap.Wrap, space: { main: LengthMetrics.vp(5), cross: LengthMetrics.vp(5) } }) {
      Text(this.text)
        .fontWeight(FontWeight.Bold)
        .bindContextMenu(this.MyMenu(), ResponseType.LongPress)
        .width('100%')

      TextInput({ text: this.text })
        .customKeyboard(this.CustomBoard)
    }
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS text组件设置width
234浏览 • 1回复 待解决
HarmonyOS Text组件如何设置文字方向
160浏览 • 1回复 待解决
HarmonyOS Text组件设置行间距吗?
733浏览 • 0回复 待解决
HarmonyOS text组件如何设置行上下间距
158浏览 • 1回复 待解决
HarmonyOS Text设置align不居中
697浏览 • 1回复 待解决
HarmonyOS Text怎么设置最大高度?
133浏览 • 1回复 待解决
Text怎么设置文本渐变?
531浏览 • 0回复 待解决
HarmonyOS Text 组件 UI样式
151浏览 • 1回复 待解决