如何将文本注入Microsoft botframework-webchat的React组件?

时间:2018-05-25 06:10:04

标签: reactjs botframework

我想在Microsoft chatbot中添加和发送消息,而不在Bot窗口底部的textArea上键入该消息。 我需要将消息作为反应组件的道具(botframework-webchat)。

我尝试了link中给出的建议,但这对我不起作用。

我该怎么做?

我试过了。

import { Chat } from "botframework-webchat";

class ChatBox extends Component {

componentDidMount() {
   document.getElementsByClassName('wc-shellinput')[0].value = "testMsg"
   document.getElementsByClassName('wc-send')[0].click()
}

render() {
   return (
      <React.Fragment>
        <div>
         <Chat
            directLine={{
               secret:
               "...."
            }}
            user={{ id: "Test" }}
            bot={{ id: "Demo" }}
            resize={"detect"}
            ref="chatBox"
         />
      </div>
    </React.Fragment>
    )
}
}

1 个答案:

答案 0 :(得分:1)

我不是React的专家,但我发现在React中,我们只能通过其状态更新输入值。通过source code,似乎有一个名为onChangeText()的入口函数。

因此,请尝试使用以下代码段来更新输入值:

  componentDidMount(){
    console.log(this.chat);
    this.chat.shellRef.props.onChangeText('testMsg');      
  }