gpt4 book ai didi

c# - unity InputField OnValueChanged事件显示InputField.text少一个字符

转载 作者:行者123 更新时间:2023-11-30 17:29:18 31 4
gpt4 key购买 nike

我有一个 InputField,我将它用作搜索栏。我无法使用 OnValueChanged 自动搜索,因为最初,如果我输入任何字符,如 a,文本字段将为 ""inputField.text 仍然是 "" 而不是 a,因为在添加下一个字符之前不会进行搜索。

有没有办法在事件的第一次点击时获取当前文本?

public void SearchGame()
{
try
{
if (!string.IsNullOrEmpty(SearchText.text) && SearchText.text != "")
{
var listofvalues = list1.Where(x => x.name.ToLower().StartsWith(SearchText.text.ToLower(), StringComparison.CurrentCulture)).ToList();

if (listofvalues.Count > 0)
{
foreach (var value in listofvalues)
{
//loading
}
}
else
{
//No search result
}
}
else
{
//stuff
}
}
catch (Exception exception)
{
LoggingManager.Error(exception);
}
}

此方法附加到输入字段的 On Value Changed 事件,searchText 是该输入字段的文本。

最佳答案

看起来您没有在此事件上使用动态参数分配。

public void SearchGame(string text)
{
try
{
if (!string.IsNullOrEmpty(text) && text != "")
{
var listofvalues = list1.Where(x => x.name.ToLower().StartsWith(text.ToLower(), StringComparison.CurrentCulture)).ToList();

if (listofvalues.Count > 0)
{
foreach (var value in listofvalues)
{
//loading
}
}
else
{
//No search result
}
}
else
{
//stuff
}
}
catch (Exception exception)
{
LoggingManager.Error(exception);
}
}

请注意,某些事件有一个参数,该参数应包含在处理程序的签名中。例如OnValueChanged期望一个 UnityAction<string>作为其处理程序或只是具有该签名的方法 SearchGame(string) .

所以路过SearchGame()将忽略 <string>参数。

关于c# - unity InputField OnValueChanged事件显示InputField.text少一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51382621/

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