当前位置:首页 » 程序代码 » 正文

用属性更新器来设置属性 arkts

代码如下,如果在预览器测试,如果测试出现问题,重新启动一下预览器可解决问题,我在测试过程中遇到过此情况。

import { AttributeUpdater } from '@ohos.arkui.modifier' // 属性更新器 - 源码来自 wb98.com

//分别为按钮和文本组件建2个类
class Mybutton1 extends AttributeUpdater<ButtonAttribute> { //参数是 组件名+Attribute
  // 首次绑定时触发initializeModifier方法,进行属性初始化---不初始化,也没事,绑定这个空类就可以很自由地设置组件的属性
  initializeModifier(instance: ButtonAttribute): void {
    instance
      .width('50%')
      .height(30)
      .backgroundColor(Color.Red)
  }
}

class MyText1 extends AttributeUpdater<TextAttribute> {//空,属性设置不初始化
}

@Entry
@Component
struct Page8 {
 button1: Mybutton1 = new Mybutton1();
 text1:MyText1=new MyText1()

  build() {

    Column() {
      Button('确定')
        .attributeModifier(this.button1)//动态设置组件的属性方法,这里要绑定
        .onClick(() => {
          // 下面就就是设置属性
          this.button1.attribute?.backgroundColor(Color.Green).fontColor(Color.Blue)
            .fontSize(50).offset({ x: 100 }).height(100)
        })

      Text('文本组件')
        .attributeModifier(this.text1)
        .onClick(() => {
          this.text1.attribute?.backgroundColor(Color.Pink).fontSize(33).margin(50).borderRadius(10)
        })
    }

  }
}


打赏 支付宝打赏 微信打赏

来源:济亨网

本文链接:https://www.wb98.com/post/386.html

arkts  鸿蒙  
    << 上一篇 下一篇 >>

    湘公网安备 43011102000514号 - 湘ICP备08100508号