每当我的对象属性之一设置为 true 时,我想在我的组件中禁用我的按钮。
className="button save"
disabled={this.props.validationObject.reduce(
(sum, next) => sum && next,
true
)}
>
这是我的验证对象
validationObject: {
Title: true,
IBCSegmentId: true,
CountryId: true,
localCOMPageTitle: true
}
请注意,我的 disbale 只需要 1 true 就可以禁用,这可能吗?我试过“减少”但没有用。我试图复制他们在这里所做的事情
最佳答案
您可以使用 Object.values()
来减少值,而且,您需要使用 or (||
) 操作来减少,以便它只是 false如果它们都是假的。
var validationObject = {
Title: false,
IBCSegmentId: false,
CountryId: false,
localCOMPageTitle: false
};
var shouldDisable = Object.values(validationObject).reduce(
(sum, next) =>sum || next
);
console.log(shouldDisable);
validationObject = {
Title: true,
IBCSegmentId: false,
CountryId: false,
localCOMPageTitle: false
};
shouldDisable = Object.values(validationObject).reduce(
(sum, next) =>sum || next
);
console.log(shouldDisable);
关于javascript - 根据对象属性禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52358850/