HarmonyOS AttributeModifier封装bindPop问题

//这是AttributeModifier
export class GmPopTipsAttribute implements AttributeModifier<CommonMethod<RowAttribute>> {
  showPop: boolean = false
  text?: string

  constructor() {
  }

  applyNormalAttribute(instance: CommonMethod<RowAttribute>): void {
    instance.bindPopup(this.showPop, {
      builder: () => {
        wrapBuilder(GmPopTipsBuilder).builder(this.text)
      },
      placementOnTop: true,
      showInSubWindow: false,
      arrowHeight: 5,
      arrowWidth: 10,
      enableArrow: true, //显示箭头
      arrowPointPosition: ArrowPointPosition.CENTER,
      radius: 3, //圆角
      onStateChange: (e) => {
        if (!e.isVisible) {
          this.showPop = false
        }
      }
    })
  }
}

@Builder
export function GmPopTipsBuilder(value: string) {
  GmPopTipsView({
    value: value
  })
}

@Component
export struct GmPopTipsView {
  value?: string

  build() {
    Column() {
      Text(this.value)
        .padding({
          left: 10,
          right: 10,
          top: 5,
          bottom: 5
        })
        .fontSize(14)
        .fontColor("#2a3050")
    }
  }
}
//初始化准备
@State popAttribute: GmPopTipsAttribute = new GmPopTipsAttribute()
//随便找个地方执行
this.popAttribute.text = `测试`
//随便找个组件调用
.attributeModifier(this.popAttribute)
//报错-Error message:Method not implemented

需要如何修改?

HarmonyOS
2025-01-09 16:20:18
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可参考动态属性设置文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-attribute-modifier-V5#%E8%87%AA%E5%AE%9A%E4%B9%89modifier

属性支持范围:不支持入参为CustomBuilder或Lamda表达式的属性,且不支持手势,事件仅支持onClick、onTouch、onAppear、onDisAppear、onMouse、onHover、onKeyEvent、onBlur、onFocus、onAreaChange、onSizeChange、onGestureJudgeBegin。不支持已废弃属性,未支持的属性在使用时会抛异常"Method not implemented"。

bindPopup入参是CustomBuilder,不在属性支持范围内。

分享
微博
QQ
微信
回复
2025-01-09 19:38:00
相关问题
HarmonyOS attributeModifier是否支持继承?
631浏览 • 1回复 待解决
HarmonyOS 组件封装问题
363浏览 • 1回复 待解决
HarmonyOS Span的封装问题
163浏览 • 1回复 待解决
HarmonyOSAxios封装使用问题
936浏览 • 1回复 待解决
HarmonyOS 关于页面架构封装问题
350浏览 • 1回复 待解决
HarmonyOS 关于rcp请求封装问题
413浏览 • 1回复 待解决
HarmonyOS 自定义弹窗封装问题
380浏览 • 1回复 待解决
HarmonyOS 自定义弹框封装问题
394浏览 • 1回复 待解决
HarmonyOS CustomDialogController封装
366浏览 • 1回复 待解决
HarmonyOS http请求封装
431浏览 • 1回复 待解决
HarmonyOS 公共组件封装
767浏览 • 1回复 待解决
HarmonyOS CustomDialogController如何封装
727浏览 • 1回复 待解决
HarmonyOS 基础控件封装想法
380浏览 • 1回复 待解决
HarmonyOS http请求的封装
531浏览 • 1回复 待解决
HarmonyOS 关于rcp.createSession封装
266浏览 • 1回复 待解决
HarmonyOS代码封装解决方案
1080浏览 • 1回复 待解决
HarmonyOS 底层网络库的封装
393浏览 • 1回复 待解决