You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React:输入填满后启用按钮,如何判断对象属性长度大于0?

解决React中判断inputList对象属性长度的问题

你遇到的问题核心是inputList是数组类型,需要先访问数组内的对象元素,再判断属性值的长度:

情况1:仅需判断数组第一个对象(匹配你的初始代码场景)

直接取数组的第一个元素,分别检查action和dest的长度是否都大于0:

const [inputList, setInputList] = useState([{action: "", dest: "", }]);
// 取数组第一个元素,验证两个属性的长度条件
const isEnabled = inputList[0].action.length > 0 && inputList[0].dest.length > 0;

<Button disabled={!isEnabled}>Continue</Button>

情况2:需要判断数组中所有对象都满足条件

如果后续inputList会新增多个对象,要求所有对象的action和dest都不为空时才启用按钮,可以用数组的every方法:

const isEnabled = inputList.every(item => item.action.length > 0 && item.dest.length > 0);

关于你提到的Object.keys没成功:这个方法是用来获取对象的键名数组(比如Object.keys(inputList[0])会得到["action", "dest"]),它本身不负责判断属性值的长度,所以不适合这个场景。

内容的提问来源于stack exchange,提问作者xyba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 19:01:20