HarmonyOS 在List中如何运用多个Web?

在一个List中每个ListItem用Web显示富文本,但是只有一个WebviewController,web是每个Item都是一个新的web,WebviewController只显示最后一个ITEM的页面数据,请问如何解决这种,或者有什么更好的代替方式,因为网页参数设置多参数加载用RichText不行。

阅读 503
1 个回答

demo参考:

import web_webview from '@ohos.web.webview';

@Entry
@Component
struct ListItemExample {
  @State articleList: Array<Article> = [
    new Article('001', 'xxxx', new web_webview.WebviewController()),
    new Article('002', 'xxxx', new web_webview.WebviewController()),
  ]

  build() {
    Column() {
      List() {
        ForEach(this.articleList, (item: Article) => {
          ListItem() {
            Web({ src: item.url, controller: item.controller })
              .height('20%')
          }
        }, (item: Article) => item.id)
      }
    }
    .width('100%')
    .height('100%')
    .backgroundColor(0xF1F3F5)
  }
}

@Observed
class Article {
  id: string;
  url: string;
  controller: web_webview.WebviewController;
  constructor(id: string, url: string, controller: web_webview.WebviewController) {
    this.id = id
    this.url = url
    this.controller = controller;
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进