HarmonyOS promptAction的buttons如何动态传值?

以下代码报错类型匹配不上。

let shares = ["分享1","分享2"] //模拟接口返回动态数据  
let buttons = shares?.map((value) => {  
  let button: Button = {  
    text: value,  
    color: '#333333'  
  }  
  return button  
})  
promptAction.showActionMenu({  
  title: '选择分享方式',  
  buttons: buttons  
}).then(data => {  
  if (data.index == 0) {  
  
  } else if (data.index == 1) {  
  
  }  
})
HarmonyOS
2024-09-26 13:16:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

可以参考以下demo。

class UserButton implements promptAction.Button {  
  text: string | Resource;  
  color: string | Resource;  
  
  constructor(text: string | Resource, color?: string | Resource) {  
    this.text = text  
    this.color = color ?? '#000000'  
  }  
}  
  
function createDia(buttonStr: string[]) {  
  let buttons: [  
    promptAction.Button,  
    promptAction.Button?,  
    promptAction.Button?,  
    promptAction.Button?,  
    promptAction.Button?,  
    promptAction.Button?  
  ] = [new UserButton(buttonStr[0])]  
  let len = buttonStr.length > buttons.length ? buttons.length : buttonStr.length  
  for (let i = 1; i < len; i++) {  
    buttons[i] = new UserButton(buttonStr[i])  
  }  
  if (len) {  
    try {  
      promptAction.showActionMenu({  
        title: 'Title Info',  
        buttons: buttons,  
      })  
        .then(data => {  
          console.info('showDialog success, click button: ' + data.index);  
        })  
        .catch((err: Error) => {  
          console.info('showDialog error: ' + err);  
        })  
    } catch (error) {  
      console.error(`showDialog args error code is ${error.code}, message is ${error.message}`);  
    }  
  }  
}
分享
微博
QQ
微信
回复
2024-09-26 18:13:05
相关问题
HarmonyOS原生如何给flutter
266浏览 • 1回复 待解决
HarmonyOS 如何实现页面反向
273浏览 • 1回复 待解决
HarmonyOS 界面逆向
272浏览 • 1回复 待解决
如何动态设置组件属性
793浏览 • 1回复 待解决
ArkTS如何进行页面间
1079浏览 • 1回复 待解决
HarmonyOS关于AXIOS动态参数问题
410浏览 • 1回复 待解决
ArkTS自定义组件如何父子间
255浏览 • 1回复 待解决
ArkTS 网络请求 接口动态
347浏览 • 1回复 待解决
自定义组件和绑定
832浏览 • 1回复 待解决
OpenHarmony 使用WEB组件问题
3346浏览 • 1回复 待解决
arkts父子组件组件怎么通信啊?
5190浏览 • 1回复 待解决
HarmonyOS 页面间如何参?
723浏览 • 1回复 待解决