2025-06-29

@Local 描述的才能修改

@Extend 抽离css

@otherData 循环数据

@Builder 自定义函数

import App from '@system.app';

@Entry
@ComponentV2
struct Index {
  @Local message: string = 'Hello222 World';
  //
  private otherData:Array<ResourceStr> = [
    $r('app.media.ic_menu'),
    $r('app.media.ic_menu'),
    $r('app.media.ic_menu'),
  ]
  build() {
   Column(){
     Image($r('app.media.ic_brand'))
       .width('100%')
     Column(){
       this.myInput() // 自定义函数引入
       // TextInput({placeholder:'请输入账号'})
       //   .type(InputType.Normal)
       //   .myInputStyle(5)
       // TextInput({placeholder:'请输入密码'})
       //   .type(InputType.Password)
       //   .placeholderColor(Color.Gray)
       //   .myInputStyle(10)
     }
     Row(){
       Text('短信验证码登录').fontSize('20fp')
       Text('忘记密码').fontSize('20fp')
     }
     .width('100%')
     .justifyContent(FlexAlign.SpaceAround)
     .margin('20vp')

     Button('登录')
       .backgroundColor(Color.Orange)
       .padding('15vp')
       .width('90%')
       .margin({bottom:'20vp'})
       .onClick(()=>{
         console.log('ok')
       })

   //   第三方登录
     Column(){
       Text('第三方登录')
         .fontSize('20fp')
         .fontColor(Color.Gray)
       Row(){
         // 循环
         ForEach(this.otherData,(item:ResourceStr,index?:number)=>{
           Image(item)
             .width('50vp')
             .height('50vp')
         })
         // Image($r('app.media.ic_menu'))
         //   .width('50vp')
         //   .height('50vp')
         // Image($r('app.media.ic_menu'))
         //   .width('50vp')
         //   .height('50vp')
         // Image($r('app.media.ic_menu'))
         //   .width('50vp')
         //   .height('50vp')
       }.width('90%')
       .margin({top:'20vp'})
       .justifyContent(FlexAlign.SpaceEvenly)
     }
   }
  }
  @Builder
  myInput(){
    TextInput({placeholder:'请输入账号'})
      .type(InputType.Normal)
      .myInputStyle(5)
    TextInput({placeholder:'请输入密码'})
      .type(InputType.Password)
      .placeholderColor(Color.Gray)
      .myInputStyle(10)
  }
}


// 自定义构建函数


//公共函数库(样式抽离) @Extend
@Extend(TextInput) function myInputStyle(length?:number){
  .placeholderColor(Color.Gray)
  .margin('10vp')
  .padding('10vp')
  .textIndent('10vp')
  .maxLength(length)
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 暮雪沉疴相思尽 第1章 程偲元和丈夫相爱了九十九世,可每一世,他都会惨死在她面前。 血浸染在她指缝间,一旁为救她而...
    熊熊不熊1阅读 17评论 0 0
  • 单元函数微积分,直观理解(8) 求导公式及其注意事项 徐长发,华中科技大学,2025. 求导数是经常使用的,人们可...
    发哥80阅读 10评论 0 0
  • 单元函数微积分,直观理解(9) 分段函数的连续性和导数 徐长发,华中科技大学,2025.
    发哥80阅读 7评论 0 0
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,726评论 1 180
  • 前端开发面试题 <a name='preface'>前言</a> 只看问题点这里 看全部问题和答案点这里 本文由我...
    自you是敏感词阅读 799评论 0 3