Javascript 如果不可变列表包含空值,则禁用按钮
如果用户在文本框中输入空白值,则应禁用该按钮。 我正在使用以下过滤器进行此检查。但这不起作用。请提供建议Javascript 如果不可变列表包含空值,则禁用按钮,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,如果用户在文本框中输入空白值,则应禁用该按钮。 我正在使用以下过滤器进行此检查。但这不起作用。请提供建议 <ALink href='javascript:void(0);' className='button primary default-size' id='globalParametersCancel' content={localeHelper.translate('
<ALink href='javascript:void(0);'
className='button primary default-size' id='globalParametersCancel'
content={localeHelper.translate('iaSampling.iaGlobalConfiguration.reset')}
isDisabled={(!this.globalParameterChanged) && (!this.gaparameterlist?.find(x => x.value == ' '))}
onClick={this.reset} />
x.value=='')}
onClick={this.reset}/>
如果您正在使用React,您可以这样做,假设您有一个带有onChange
的输入字段。您可以将更改处理程序中的状态设置为e.target.value
。当状态发生更改时,将调用useffect()
回调并检查输入是否有效。如果输入有效(您可以执行任何您喜欢的验证,例如日期、数字、正则表达式…),则可以设置为有效(setValid(true)
)
//设置文本后的回调
useffect(()=>{
//验证
如果(文本){
setValid(true);
}否则{
setValid(false);
}
},[正文];
常数handleChange=(e)=>{
e、 preventDefault();//防止默认操作
setText(e.target.value);//设置文本
};
然后,根据valid
boolean状态值,您可以呈现您想要的内容,在本例中是一个按钮,如果无效=>则显示消息或任何您喜欢的内容
const validDisplay=valid?(
提交
) : (
无效!
);
这就是您的最终返回结果的样子
返回(
{validDisplay}{text}
);
我制作了一个沙盒,你可以试试看你是否使用js框架来重新渲染?是reactjs还是什么?@NghiNguyen我只是通过调用一个方法来重新设置状态。你为什么在'
中放置空格
?很难找到你现在面临的问题的背景?我不知道ALink组件支持是否禁用?以及事件对this.globalParameters和this.gaparameterlist状态的影响?你能展示你的代码的更多细节吗?