鸿蒙自定义弹窗传值

class areaData {
  img: string = ''
  name: string = ''
}

@CustomDialog
export struct CustomDialog01 {
  controller: CustomDialogController
  // private inputValue: string = ''
  @State areaData: areaData[] = []
  @State areaDataItem: areaData = {
    img: '',
    name: ""
  }
  changeInputValue: Function = (data: areaData) => {
  }

  build() {
    Column() {
      Text('Change text').fontSize(20).margin({ top: 10, bottom: 10 })
      Text(this.areaDataItem.name)
    }
  }
}

@Entry
@Component
struct DialogDemo01 {
  @State areaData: areaData[] =
    [{ img: 'Tx.png', name: "主题" }, { img: 'Tx.png', name: "区域" }, { img: 'Tx.png', name: "事项" },
      { img: 'Tx.png', name: "距离" }]
  // @State inputValue: string = 'click me12'
  @State areaDataItem: areaData = {
    img: '',
    name: ""
  }
  dialogController: CustomDialogController = new CustomDialogController({
    builder: CustomDialog01({
      areaDataItem: this.areaDataItem,
      changeInputValue: (data: areaData) => {
        this.areaDataItem = data
      }
    })
  })

  build() {
    Column() {
      // Button('点击').fontSize(30)
      //   .onClick(() => {
      //     this.dialogController.open()
      //   }).backgroundColor(0x317aff)
      ForEach(this.areaData, (item: areaData, i: number) => {
        Text(item.name).onClick(() => {
          this.areaDataItem = item
          this.dialogController.open()

        })
      })
    }.width('100%').margin({ top: 5 }).height("100%").justifyContent(FlexAlign.Center)
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值