reactjs - 如何在按钮 onClick 方法上动态设置 TextField 上的 ErrorMessage
问题描述
只有当用户按下按钮时,我才需要将 ErrorMessage 绑定到文本字段。在这有很好的例子如何使用errormessage但问题是我不知道如何在用户点击后附加errorMeesage
<TextField id='titleField' value={titleValue} required={true} label={escape(this.props.description)} onGetErrorMessage={this._getErrorMessage} validateOnLoad={false} />
这是一个按钮的调用:
private _buttonOnClickHandler() {
let textvalue = document.getElementById('titleField')["value"];
if(textvalue === "")
{
//call onGetErrorMessage or something that will set ErrorMeesage and input will be red
}
return false;
}
谢谢
解决方案
我能想到的最简单的方法是通过onGetErrorMessage
状态检查来预测是否已单击按钮。
<TextField
id='titleField'
value={titleValue}
required={true}
label={escape(this.props.description)}
// Only allow showing error message, after determining that user has clicked the button
onGetErrorMessage={this.state.buttonHasBeenClicked ? this._getErrorMessage : undefined}
validateOnLoad={false}
/>
然后在您的按钮单击处理程序中,只需设置该状态值:
private _buttonOnClickHandler() {
this.setState({ buttonHasBeenClicked: true });
return false;
}
只要你实例化为buttonHasBeenClicked
false,那么这个方法将满足以下要求:(a)用户点击按钮前,不显示错误信息TextField
,(b)用户点击按钮后,错误信息开始出现被显示。您保留_getErrorMessage(value)
根据TextField
.
推荐阅读
- python - python中的矩阵如何删除最后一行中的\ n
- php - 使用 PHP/Symfony 进行 Git 推送
- asp.net-mvc - 所有视图的asp.net mvc5全局变量
- r - 函数在 for 循环中返回 NA
- linux-kernel - USB-Serial 在新的 linux(内核 4.12.14)中立即失去连接
- forms - Symfony 4 处理 null DateType 表单字段
- sas - 如何在SAS中的宏下使用日期格式为YYYYMM
- css - 所有边距都相等,但有些边距比其他边距更平等
- java - 如何使用apache camel从soap响应中获取值?
- svg - 如何在角度 6 中使用 svg beginElement()?