病虫害详细页面信息视图中需要增加“保存”按钮,把新增的AI诊断结果保存到AGC云数据库、云存储。

保存按钮的代码如下:

// 新增病虫害,AI诊断成功后保存诊断结果到云数据库
        // 保存按钮
        Button('保存到我的诊断记录')
          .width('100%')
          .height(40)
          .fontSize(16)
          .fontWeight(FontWeight.Medium)
          .backgroundColor('#007DFF')
          .margin({bottom:48,top:8})
          .visibility(this.isAdd?Visibility.Visible:Visibility.Hidden)
          .onClick(() => {
            // TODO:  保存诊断结果到云数据库
            // /
          })

为病虫害的实体对象添加一个新属性:AGID,

/**
   * AGC云数据库记录的唯一标识
   */
  AGID?:number;

该值是AGC云数据库记录的唯一标识,如果存在则说明已保存过的记录;否则为新的诊断结果,才需保存到云数据库。

AGID是否有值,决定是否显示保存按钮

@State isAdd:boolean=false; // 是否新增

  aboutToAppear(): void {
    // 判断是否新增
    if(DataUtil.isNull(this.pestObj?.AGID)){
      this.isAdd=true;
    }
  }

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐