HarmonyOS Swiper嵌套RichEditor的问题

Swiper嵌套多个RichEditor,横向滑动,通过controller addTextSpan或者addImageSpan 都只能添加到第最后渲染的RichEditor编辑框,对滑动到当前的RichEditor添加无效,而且在onReady中预设置的图文全部显示到一个RichEditor中了,如何解决?

HarmonyOS
19h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

请参考示例demo:

@Entry
@Component
struct Index2 {
  controller: RichEditorController = new RichEditorController();
  option: RichEditorOptions = { controller: this.controller };
  private swiperController: SwiperController = new SwiperController()
  @State list:string[]=['','','']
  @State controllerList: RichEditorOptions[] = []
  @State index: number = 0
  aboutToAppear(): void {
    for (let index = 0; index < this.list.length; index++) {
      this.controllerList.push({
        controller: new RichEditorController()
      })
    }
  }
  build() {
    Column() {
      Swiper(this.swiperController){
        ForEach(this.list,(item:string,index:number)=>{
          Column() {
            RichEditor(this.controllerList[index])
              .onReady(() => {
                this.controllerList[index].controller.addTextSpan("0123456789",
                  {
                    style:
                    {
                      fontColor: Color.Orange,
                      fontSize: 30
                    }
                  })
                this.controllerList[index].controller.addImageSpan($r("app.media.startIcon"),
                  {
                    imageStyle:
                    {
                      size: ["57px", "57px"]
                    }
                  })
              })
              .onSelect((value: RichEditorSelection) => {
                console.info("onSelect=" + JSON.stringify(value))
              })
              .aboutToIMEInput((value: RichEditorInsertValue) => {
                return true;
              })
              .onIMEInputComplete((value: RichEditorTextSpanResult) => {
                console.log("value:" + value.value)
              })
              .aboutToDelete((value: RichEditorDeleteValue) => {
                return true;
              })
              .borderWidth(1)
              .borderColor(Color.Green)
              .width("100%")
              .height("30%")
          }
          .margin({top:100})
          .width("100%")
          .height("70%")
        })
      }
      .indicator(false)
      .loop(false)
      .onChange((index:number) => {
        this.index = index
      })
      Button("add span")
        .onClick(() => {
          let num = this.controllerList[this.index].controller.addTextSpan('测试')
          console.info('addBuilderSpan return ' + num)
        })
      Button("add image")
        .onClick(() => {
          let num =this.controllerList[this.index].controller.addImageSpan($r("app.media.startIcon"), {
            imageStyle: {
              size: ["50px", "50px"],
              verticalAlign: ImageSpanAlignment.BOTTOM,
            }
          })
          console.info('addImageSpan return' + num)
        })
    }
  }
}
分享
微博
QQ
微信
回复
16h前
相关问题
HarmonyOS RichEditor问题
19浏览 • 1回复 待解决
HarmonyOS RichEditor使用问题
1浏览 • 0回复 待解决
HarmonyOS RichEditor 使用问题
535浏览 • 1回复 待解决
HarmonyOS RichEditor.onPaste问题
16浏览 • 1回复 待解决
HarmonyOS SwiperdisableSwipe问题
32浏览 • 1回复 待解决
Swiper 组件嵌套图片刷新数据会闪烁
1273浏览 • 1回复 待解决
HarmonyOS RichEditor光标位置异常问题
1浏览 • 0回复 待解决
HarmonyOS Swiper循环问题
434浏览 • 1回复 待解决
HarmonyOS swiper组件使用问题
319浏览 • 1回复 待解决
HarmonyOS RichEditor 获焦/失焦问题
468浏览 • 1回复 待解决
HarmonyOS swiper + LazyForEach使用问题
349浏览 • 1回复 待解决
HarmonyOS 组件嵌套问题
391浏览 • 1回复 待解决
HarmonyOS Scroll 嵌套 RelativeContainer 问题
516浏览 • 1回复 待解决
HarmonyOS WaterFlow嵌套问题
70浏览 • 1回复 待解决
HarmonyOS Tabs嵌套Grid问题
81浏览 • 1回复 待解决
HarmonyOS ArkUI 嵌套组件问题
76浏览 • 1回复 待解决
HarmonyOS Scroll嵌套RelativeContainer 问题
351浏览 • 1回复 待解决
HarmonyOS 嵌套滑动问题
369浏览 • 1回复 待解决
HarmonyOS lazyForeach嵌套视图问题
301浏览 • 1回复 待解决