我不得不像这样将onLongPress添加到giftedChat组件
<giftedChat
onLongPress={this.onLongPress}
....
....
/>
onLongPress返回上下文,消息。然后,您可以显示一个actionSheet并添加要删除和复制的逻辑。
onLongPress(context,message) {
console.log(context,message);
const options = ['copy','Delete Message','Cancel'];
const cancelButtonIndex = options.length - 1;
context.actionSheet().showactionSheetWithOptions({
options,cancelButtonIndex
},(buttonIndex) => {
switch (buttonIndex) {
case 0:
Clipboard.setString(this.props.currentMessage.text); this code not work and brokes my app :(
break;
case 1:
//code to delete
break;
}
});
}
这里有代码的发送属性:
sendBotResponse(text) {
let msg = {
_id: this.state.messages.length + 1,text,//createdAt: new Date(Date.UTC(2019,5,11,17,20,0)),createdAt: new Date(),user: BOT_USER,};
this.setState(previousState => ({
messages: giftedChat.append(previousState.messages,[msg]),}));
}
handleGoogleResponse(result) {
console.log(result);
let text = result.queryResult.fulfillmentMessages[0].text.text[0];
this.sendBotResponse(text);
}
onSend(messages = []) {
this.setState(previousState => ({
messages: giftedChat.append(previousState.messages,messages),}));
let message = messages[0].text;
Dialogflow_V2.requestQuery(
message,result => this.handleGoogleResponse(result),error => console.log(error)
);
}
但是我没有成功,有人可以帮助我完成这段代码吗? ps。我正在使用DIALOGFLOW