首页 > 解决方案 > 当我们点击英雄卡的按钮时,我们可以在聊天窗口中启用自动向下滚动吗?

问题描述

我已经在 Direct Line 频道中部署并发布了我的机器人。当得到的结果不止一个时,我会得到一系列对应的结果,以英雄卡的形式。现在当我们点击任何英雄卡的按钮时,它会在底部给出响应。要检查响应,我需要仔细检查并检查响应。在这里我需要,当我们点击按钮时自动滚动。

我找到了解决方案:

const store = window.WebChat.createStore(
{},
({ dispatch }) => next => action => {
    if (action.type === 'DIRECT_LINE/POST_ACTIVITY_FULFILLED') {
        document.querySelector('ul[role="list"]').lastChild.scrollIntoView({behavior: 'smooth', block: 'start'});
    }
    return next(action);
}
);

window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token }),
store
 }, document.getElementById('webchat'));

上面显示的代码片段通过使用“IamBack”按钮活动类型可以正常工作,但我使用“ PostBack ”来隐藏按钮单击的值。就我而言,上面显示的代码段不起作用。请向我建议任何所需的更改。我是机器人框架的新手,请给我一些解决方案。

这是带有回发活动类型的英雄卡的代码。

var heroCard = new ThumbnailCard
        {
            Title = title.ToUpperInvariant(),
            Images = new List<CardImage> { new CardImage(filename) },
            Subtitle = description,
            Text = "",
            Buttons = new List<CardAction> { new CardAction(ActionTypes.PostBack, title.ToUpperInvariant(), value: youtubeid) },
        };

提前致谢!

标签: c#botframeworkdirect-line-botframeworkadaptive-cards

解决方案


推荐阅读