当前位置:   article > 正文

鸿蒙 - arkTs:自定义组件,自定义组件函数,公共样式函数_鸿蒙开发 struct 只能给定义函数

鸿蒙开发 struct 只能给定义函数

自定义组件:

定义自定义组件: 

  1. @Component
  2. export struct Header {
  3. private title: ResourceStr
  4. build(){
  5. Row(){
  6. Image($r('app.media.icon'))
  7. .width(20)
  8. Text(this.title)
  9. .fontSize(22)
  10. .fontWeight(FontWeight.Bold)
  11. Blank()
  12. Image($r('app.media.icon'))
  13. .width(20)
  14. }
  15. .width('100%')
  16. .padding(10)
  17. }
  18. }

使用自定义组件: 

  1. import {Header} from '../components/Header'
  2. @Entry
  3. @Component
  4. struct Index {
  5. build() {
  6. Column(){
  7. Header({title: '22'})
  8. }
  9. };
  10. }

自定义组件函数:

定义和使用自定义组件函数(全局使用):

  1. import {Header} from '../components/Header'
  2. // 自定义全局自定义组件函数
  3. @Builder function ItemCard (item) {
  4. Text(`第${item}个元素`)
  5. .fontWeight(FontWeight.Bold)
  6. .height(50)
  7. .lineHeight(50)
  8. };
  9. @Entry
  10. @Component
  11. struct Index {
  12. build() {
  13. Column(){
  14. Header({title: '22'})
  15. List({space: 30}) {
  16. ForEach(
  17. [1,2,3,4,5,6,7,8,9],
  18. item=>{
  19. ListItem(){
  20. // 使用全局自定义组件函数
  21. ItemCard(item)
  22. }
  23. .width('100%')
  24. .backgroundColor("#FFF")
  25. .padding(20)
  26. }
  27. )
  28. }
  29. .width('100%')
  30. .height('100%')
  31. .backgroundColor("#999")
  32. .listDirection(Axis.Vertical)
  33. }
  34. };
  35. }

定义和使用自定义组件函数(局部使用):

  1. import {Header} from '../components/Header'
  2. @Entry
  3. @Component
  4. struct Index {
  5. @Builder ItemCard (item) {
  6. // 自定义组件函数
  7. Text(`第${item}个元素`)
  8. .fontWeight(FontWeight.Bold)
  9. .height(50)
  10. .lineHeight(50)
  11. };
  12. build() {
  13. Column(){
  14. Header({title: '22'})
  15. List({space: 30}) {
  16. ForEach(
  17. [1,2,3,4,5,6,7,8,9],
  18. item=>{
  19. ListItem(){
  20. // 使用自定义函数
  21. this.ItemCard(item)
  22. }
  23. .width('100%')
  24. .backgroundColor("#FFF")
  25. .padding(20)
  26. }
  27. )
  28. }
  29. .width('100%')
  30. .height('100%')
  31. .backgroundColor("#999")
  32. .listDirection(Axis.Vertical)
  33. }
  34. };
  35. }

公共样式函数:

定义和使用自定义组件函数(全局使用):

  1. /**
  2. * 定义全局样式函数
  3. * Extend 继承某个组件(只能在全局时使用)
  4. * 想定义fontColor但是不适用继承会报错
  5. */
  6. @Extend(Text) function ListStyle () {
  7. .fontColor('#FFF')
  8. .padding(20)
  9. .backgroundColor('#999')
  10. }
  11. @Entry
  12. @Component
  13. struct Index {
  14. build() {
  15. Column(){
  16. Text('Hello Word')
  17. .ListStyle() // 使用全局样式函数
  18. }
  19. };
  20. }

定义和使用自定义组件函数(局部使用):

  1. @Entry
  2. @Component
  3. struct Index {
  4. // 定义全局样式函数
  5. @Styles ListStyle () {
  6. .height(100)
  7. .padding(20)
  8. .backgroundColor('#999')
  9. }
  10. build() {
  11. Column(){
  12. Text('Hello Word')
  13. .ListStyle() // 使用全局样式函数
  14. }
  15. };
  16. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/100915
推荐阅读
相关标签
  

闽ICP备14008679号