TMP_InputField : inspector 可以为 onvaluechanged 之类的东西添加方法调用,但不能为 onsubmit 添加方法调用?
TMP_InputField : in inspector can add method calls for things like onvaluechanged, but not for onsubmit?
这里是onsubmit方法,但是在编辑器中没有暴露,只暴露了onvaluechanged、onselect、onendedit、ondeselect。
我可以使用 onendedit,但是我将此输入字段用于聊天框,如果用户按 ESCAPE 键中止他的聊天,目前 onendedit 仍将触发并发送消息。我想要一些仅在用户按下 ENTER 时触发的东西,我想这将由 onsubmit 涵盖,但由于某种原因它没有在检查器中公开。
任何建议表示赞赏。谢谢
您必须使用代码添加它。
这是一种在他们提交时让事情发生的单行方法。
Start()
{
GetComponent<TMP_InputField>().onSubmit.AddListener((string input)=>{DoThing();});
}
更容易理解的版本...
public TMP_InputField MyInputfield
Start()
{
MyInputfield.onSubmit.AddListener(DoStuffWhenSubmitted);
}
void DoStuffWhenSubmitted(string input)
{
// do stuff here
}
这里是onsubmit方法,但是在编辑器中没有暴露,只暴露了onvaluechanged、onselect、onendedit、ondeselect。
我可以使用 onendedit,但是我将此输入字段用于聊天框,如果用户按 ESCAPE 键中止他的聊天,目前 onendedit 仍将触发并发送消息。我想要一些仅在用户按下 ENTER 时触发的东西,我想这将由 onsubmit 涵盖,但由于某种原因它没有在检查器中公开。
任何建议表示赞赏。谢谢
您必须使用代码添加它。 这是一种在他们提交时让事情发生的单行方法。
Start()
{
GetComponent<TMP_InputField>().onSubmit.AddListener((string input)=>{DoThing();});
}
更容易理解的版本...
public TMP_InputField MyInputfield
Start()
{
MyInputfield.onSubmit.AddListener(DoStuffWhenSubmitted);
}
void DoStuffWhenSubmitted(string input)
{
// do stuff here
}