HarmonyOS promptAction 这个弹窗的按钮可以设置点击事件吗?

代码如下:

promptAction.showDialog({  
  title:'标题',  
  message:'内容-同步',  
 buttons:[  
   {  
     text: "按钮一",  
     color: "#333333",  
   },  
   {  
     text: "按钮二",  
     color: "#999999"  
   }  
 ]  
})  
 .then(data=>{  
    console.info('showDialog success, click button: ' + data.index);  
 })  
 .catch((err:Error)=>{  
    console.info('showDialog error: ' + err);  
 })
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
HarmonyOS
2024-09-30 10:36:38
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zbw_apple

promptAction.showDialog的参数ShowDialogOptions里的buttons,并不是Button组件,只支持自定义文案以及颜色。说明内容详见:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-prompt-V5#showdialogoptions

如果想要添加其他操作,可以通过then操作符进行,在then里面会拿到一个ShowDialogSuccessResponse,这个类里面只有一个index属性,这个index就表示按钮的下标,可以通过判断下标来给指定按钮添加事件。如下内容请参考:

.then(data=>{  
  console.info('showDialog success, click button: ' + data.index);  
  if(data.index == 0){  
promptAction.showToast({message:'用户点击了按钮一'});  
  }else{  
promptAction.showToast({message:'用户点击了按钮二'});  
  }  
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
分享
微博
QQ
微信
回复
2024-09-30 16:47:08


相关问题
floating window可以设置事件穿透
702浏览 • 1回复 待解决
返回按钮是否可以自定义事件
982浏览 • 1回复 待解决