gpt4 book ai didi

c# - 使用按键触发 Blazor 中的按钮时未设置对象引用

转载 作者:行者123 更新时间:2023-12-04 13:30:54 26 4
gpt4 key购买 nike

我有一个聊天程序,由一个输入文本框和一个发送按钮组成,设置如下:

<input @bind="messageInput" size="50" @onkeydown="submitMessageInput" />

<button @onclick="Send">Send</button>
Send方法这样做:
async Task Send()
{
if (messageInput.StartsWith("/login") .....
submitMessageInput方法看起来像这样,以便处理按下 Enter 而不是手动单击发送按钮:
public async Task submitMessageInput(KeyboardEventArgs e)
{
if (e.Code == "Enter" || e.Code == "NumpadEnter")
{
await Send();
}
}
如果单击按钮,它工作正常。但是,如果按下 Enter,Send() 方法的第一行将抛出一个对象未​​设置为对象错误的实例。
我想知道是否是某种上下文问题导致 messageInput空值?处理这种情况的正确方法是什么?

最佳答案

所以似乎@bind="someString"是设置两个属性的缩写,@bind-value="someString"@bind-value:event="onchange"因此,每当注册更改事件时,即输入失去焦点时,该值就会更新。
要解决此问题,您需要更改 onchangeoninput .每次输入字符时,它都会更新变量,从而解决问题。

关于c# - 使用按键触发 Blazor 中的按钮时未设置对象引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65059947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com