OpenHarmony开发者论坛

标题: ArkTS如何动态操作组件? [打印本页]

作者: mean    时间: 2023-12-22 17:22
标题: ArkTS如何动态操作组件?
【问题描述】
我想实现的效果:页面上展示一行动态文字,文字可能是纯色,也可能是某个文字高亮,效果如下:
(, 下载次数: 0)


在Android中,可以通过SpannableString对指定的字符进行润饰
  1. LinearLayout ll = findViewById(R.id.linearLayout);

  2.         SpannableString ss3 = new SpannableString("欢迎光临我的博客");
  3.         ss3.setSpan(new URLSpan("http://xxx.com/"), 3, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

  4.         TextView textView = new TextView(this);
  5.         textView.setText(ss3);
  6.         textView.setTextColor(0xff999faa);
  7.         textView.setTextSize(12);
  8.         ll.addView(textView);
复制代码
在js中可以通过js操作dom
  1.    let span1 = document.createElement('span')
  2.     span1.innerText = '欢迎光临'
  3.     span1.style.color = '#000'

  4.     let span2 = document.createElement('span')
  5.     span2.innerText = '我的'
  6.     span2.style.color = '#c00'

  7.     let span3 = document.createElement('span')
  8.     span3.innerText = '博客'
  9.     span1.style.color = '#000'

  10.     let ll = document.getElementById("linearLayout")
  11.     ll.appendChild(span1)
  12.     ll.appendChild(span2)
  13.     ll.appendChild(span3)
复制代码
在ArkTS中如何实现?如何动态操作组件?




作者: 马迪    时间: 2023-12-23 09:09
https://docs.openharmony.cn/page ... onents-richtext.md/

我找了下,通过上面这个RichText应该能实现。 只要能动态的拼接成data字符串,再配合@state,就应该可以实现上述动态改变Text内容的效果

作者: 黄大侠来了    时间: 2023-12-28 09:47
使用Text+Span组件可以轻松解决




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5