当前位置: 首页 > news >正文

网站建设维护协议吉林网站备案

网站建设维护协议,吉林网站备案,沈阳做网站有名公司有哪些,如何注册公众号定义扩展组件样式:Extend装饰器 在前文的示例中,可以使用Styles用于样式的重用,在Styles的基础上,我们提供了Extend,用于扩展原生组件样式。 说明 从API version 9开始,该装饰器支持在ArkTS卡片中使用。 从…

定义扩展组件样式:@Extend装饰器

在前文的示例中,可以使用@Styles用于样式的重用,在@Styles的基础上,我们提供了@Extend,用于扩展原生组件样式。

说明

从API version 9开始,该装饰器支持在ArkTS卡片中使用。

从API version 11开始,该装饰器支持在元服务中使用。

装饰器使用说明

语法

@Extend(UIComponentName) function functionName { ... }

使用规则

  • 和@Styles不同,@Extend仅支持在全局定义,不支持在组件内部定义。

说明

只能在当前文件内使用,不支持export

如果想实现export功能,推荐使用AttributeModifier

  • 和@Styles不同,@Extend支持封装指定组件的私有属性、私有事件和自身定义的全局方法。

    // @Extend(Text)可以支持Text的私有属性fontColor
    @Extend(Text) function fancy () {.fontColor(Color.Red)
    }
    // superFancyText可以调用预定义的fancy
    @Extend(Text) function superFancyText(size:number) {.fontSize(size).fancy()
    }
  • 和@Styles不同,@Extend装饰的方法支持参数,开发者可以在调用时传递参数,调用遵循TS方法传值调用。

    // xxx.ets
    @Extend(Text) function fancy (fontSize: number) {.fontColor(Color.Red).fontSize(fontSize)
    }@Entry
    @Component
    struct FancyUse {build() {Row({ space: 10 }) {Text('Fancy').fancy(16)Text('Fancy').fancy(24)}}
    }
  • @Extend装饰的方法的参数可以为function,作为Event事件的句柄。

    @Extend(Text) function makeMeClick(onClick: () => void) {.backgroundColor(Color.Blue).onClick(onClick)
    }@Entry
    @Component
    struct FancyUse {@State label: string = 'Hello World';onClickHandler() {this.label = 'Hello ArkUI';}build() {Row({ space: 10 }) {Text(`${this.label}`).makeMeClick(() => {this.onClickHandler()})}}
    }
  • @Extend的参数可以为状态变量,当状态变量改变时,UI可以正常的被刷新渲染。

    @Extend(Text) function fancy (fontSize: number) {.fontColor(Color.Red).fontSize(fontSize)
    }@Entry
    @Component
    struct FancyUse {@State fontSizeValue: number = 20build() {Row({ space: 10 }) {Text('Fancy').fancy(this.fontSizeValue).onClick(() => {this.fontSizeValue = 30})}}
    }

使用场景

以下示例声明了3个Text组件,每个Text组件均设置了fontStyle、fontWeight和backgroundColor样式。

@Entry
@Component
struct FancyUse {@State label: string = 'Hello World'build() {Row({ space: 10 }) {Text(`${this.label}`).fontStyle(FontStyle.Italic).fontWeight(100).backgroundColor(Color.Blue)Text(`${this.label}`).fontStyle(FontStyle.Italic).fontWeight(200).backgroundColor(Color.Pink)Text(`${this.label}`).fontStyle(FontStyle.Italic).fontWeight(300).backgroundColor(Color.Orange)}.margin('20%')}
}

@Extend将样式组合复用,示例如下。

@Extend(Text) function fancyText(weightValue: number, color: Color) {.fontStyle(FontStyle.Italic).fontWeight(weightValue).backgroundColor(color)
}

通过@Extend组合样式后,使得代码更加简洁,增强可读性。

@Entry
@Component
struct FancyUse {@State label: string = 'Hello World'build() {Row({ space: 10 }) {Text(`${this.label}`).fancyText(100, Color.Blue)Text(`${this.label}`).fancyText(200, Color.Pink)Text(`${this.label}`).fancyText(300, Color.Orange)}.margin('20%')}
}

http://www.yayakq.cn/news/210967/

相关文章:

  • 遵义网站制作报价seo快速优化文章排名
  • 上海网站注销php网站开发工程师任职要求
  • 自建网站管理网站建设 需要注意什么
  • 怀柔 做网站的东莞如何制作网页
  • 免费发布推广信息网站0元免费做代理
  • 站长基地gif网站素材网页设计基础教程第七章课后习题
  • 合肥市城乡城乡建设局网站静态网站跟动态的区别
  • 优秀品牌企业网站建设案例百汇游戏网站开发商
  • 企业网站模板购买网站如何报备
  • 服务器win7网站建设网页设计与制作html
  • 网站建设和维护方案郑州企业招聘
  • 东莞市建设工程质监督站网站外国可以做站外推广的网站
  • 广州哪里做网站站酷设计网站官网入口插画设计
  • 百度怎样建设网站京东导购网站开发
  • 潍坊网站建设如何自己做网站卖
  • 卡盟网站建设网站优化 价格
  • 大学招生网站建设网站接入百度地图
  • 浙江做铁塔的公司网站客户推广公司
  • 个人做当地旅游网站重庆哪里有做网络推广
  • 杭州python做网站个人网站模板的优缺点
  • 一个网站的建站流程百度的链接
  • 佛山网站建设哪个郑州网站关键词优化外包
  • 海南省住房和建设厅网站企业门户网站建设方案
  • 微网站与普通网站的区别豌豆荚app下载 官网
  • dedecms 网站微商城分销平台免费
  • 黑龙江建设网官方网站我要做网站做网站临泉
  • 加强政务门户网站建设深圳国税局网站怎么做票种核定
  • 深圳外贸网站开发学网站开发月薪多少钱
  • 中国建设人才信息网是官方网站吗搜狗收录
  • 站长统计app下载备案核验单 网站类型