HarmonyOS 组件1–Button按钮组件

按钮组件
先看一个跳转界面按钮的demo

Button("跳转到界面2")  // 声明Button组件
  .width('40%')  // 设置宽度
  .height('20%')  // 设置高度
  .onClick(()=>{  // 设置好点击事件
    router.pushUrl({   // 这里跳转界面的逻辑与Flutter类似 采用路由跳转(需要加一个路由跳转的包)
      url:"pages/Index2" // 添加跳转界面的Url(字符串格式) 
    })  
  })

注意:
跳转过去的界面,需要在main_page.json中声明

{  
  "src": [  
    "pages/Index",  
    "pages/Index2"  // URL最好是把这个路径复制过去,不会出错,其他也可以保证正确就行
  ]  
}

整体的demo

// index.ets
import router from '@ohos.router'  
@Entry  
@Component  
struct Index {  
  @State message1: string = 'Harmony'  
  @State message2: string = '遥遥领先!'  
  build() {  
    Row() {  
      Column() {  
        Text(this.message1)  
          .fontSize(50)  
          .fontWeight(FontWeight.Bold)  
        Text(this.message2)  
          .fontSize(50)  
          .fontWeight(FontWeight.Bold)  
        Button("跳转到界面2")  
          .width('80%')  
          .height('8%')  
          .onClick(()=>{  
            router.pushUrl({  
              url:"pages/Index2"  
            })  
          })  
      }  
      .width('100%')  
    }  
    .height('100%')  
  }  
}
// index2.ets
import router from '@ohos.router'  
@Entry  
@Component  
struct Index {  
  @State message1: string = '界面2'  
  @State message2: string = '遥遥领先!'  
  build() {  
    Row() {  
      Column() {  
        Text(this.message1)  
          .fontSize(50)  
          .fontWeight(FontWeight.Bold)  
        Text(this.message2)  
          .fontSize(50)  
          .fontWeight(FontWeight.Bold)  
          .onClick(()=>{  //  点击文字  
            router.back() //  跳转回到来时的界面  
          })  
      }  
      .width('100%')  
    }  
    .height('100%')  
  }  
}
// main_pages.json json文件中不能有注释,复制的时候删掉这句注释!!!
{  
  "src": [  
    "pages/Index",  
    "pages/Index2"  
  ]  
}