繁体   English   中英

如何提交结果? Slack bolt-js、JavaScript

[英]How can I submit the results? Slack bolt-js, JavaScript

问题是我有第一段代码,它向我发送了两个输入,一个是添加约会,第二个是删除约会。 我在此代码下方留下一张图片,以便您可以将其可视化。

 @Command('/echo') async appontmentCommand({ ack, say }) { await ack(); try { await say({ type: 'home', blocks: [ { type: 'section', text: { type: 'plain_text', text: 'Ici, vous pouvez ajouter ou supprimer votre rendez-vous manuellement.', emoji: true, }, }, { type: 'divider', }, { type: 'section', text: { type: 'mrkdwn', text: 'Pour ajouter un rendez-vous.', }, accessory: { type: 'button', text: { type: 'plain_text', text: 'Ajouter', emoji: true, }, value: 'click_me_123', action_id: 'button-action-add', }, }, { type: 'section', text: { type: 'mrkdwn', text: 'Pour supprimer un rendez-vous', }, accessory: { type: 'button', text: { type: 'plain_text', text: 'Supprimer', emoji: true, }, value: 'click_me_123', action_id: 'button-action', }, }, ], }); console.log('Works correctly $$¤¤$$'); } catch (error) { console.error('error right here $$¤¤$$: ',error); } }

最后一段代码的结果在这里的图像

当我点击添加按钮时,它在图像中显示为“Ajouter”,它会打开一个带有这些标签和输入的模式,这是允许我这样做的代码。

 @Action('button-action-add') async addAppointmentAction({ ack, body }) { await ack(); try { const result = await this.app.client.views.open({ token: process.env.SLACK_BOT_TOKEN, trigger_id: body.trigger_id, view: { type: 'modal', callback_id: 'view_1', title: { type: 'plain_text', text: 'Add rdv', }, submit: { type: 'plain_text', text: 'Add', }, close: { type: 'plain_text', text: 'Cancel', emoji: true, }, blocks: [ { type: 'input', element: { type: 'datepicker', initial_date: '' + format(new Date(), 'yyyy-MM-dd'), placeholder: { type: 'plain_text', text: 'Select a date', emoji: true, }, action_id: 'datepicker-action', }, label: { type: 'plain_text', text: 'Day appointment', emoji: true, }, }, { type: 'input', element: { type: 'plain_text_input', action_id: 'plain_text_input-action', placeholder: { type: 'plain_text', text: 'Select a hour, ex: 14:30', emoji: true, }, }, label: { type: 'plain_text', text: 'Time of appointment', emoji: true, }, }, { type: 'input', element: { type: 'plain_text_input', action_id: 'plain_text_input-action', placeholder: { type: 'plain_text', text: 'Issue', emoji: true, }, }, label: { type: 'plain_text', text: 'Issue ', emoji: true, }, }, ], }, }); console.log(body.trigger_id); } catch (error) { console.error(error); } }

最后一段代码的结果在这里的图像

但是,当我点击提交按钮(在那里,它说添加,但它是一个透过按钮),以获得在后端的结果,我得到这个错误:错误,我得到的

我知道你必须推动才能使用 view.sumbition 方法,但我不知道该怎么做,有人可以帮助我。

读取模态提交的payload,需要处理view_submission

// Listen for view_submission modal events
app.view(callbackId, fn);

看看这个: https : //slack.dev/bolt-js/concepts#view_submissions

技术细节: https : //github.com/slackapi/bolt-js#listening-for-events

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM