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);  
 })
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:'用户点击了按钮二'});  
  }  
})
分享
微博
QQ
微信
回复
2024-09-30 16:47:08
相关问题
floating window可以设置事件穿透
280浏览 • 1回复 待解决
返回按钮是否可以自定义事件
238浏览 • 1回复 待解决
promptAction.openCustomDialog 全局弹窗
479浏览 • 1回复 待解决