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状态的影响?你能展示你的代码的更多细节吗?