检查数组是不是为空,因此禁用按钮[重复]

Posted

技术标签:

【中文标题】检查数组是不是为空,因此禁用按钮[重复]【英文标题】:Check if an array is empty hence disable a button [duplicate]检查数组是否为空,因此禁用按钮[重复] 【发布时间】:2017-12-09 09:15:32 【问题描述】:

如果数组 isemty 但失败,我会尝试禁用按钮

<button [disabled]="(users.length ==0 )?true:false">Send mass emails</button>

在 ts 文件中

users: UsersModel[];

上面会报错

Bindings cannot contain assignments at column

如果数组为空,我如何禁用该按钮

【问题讨论】:

不确定 angular2,但我猜 angular1 有 ng-enable。 angular2 也必须有类似的东西。也只是一个 POV,但使用函数而不是内联表达式总是更好。这样,您将保持视图整洁,代码更加模块化 【参考方案1】:

您似乎没有在组件中初始化 users: UsersModel[] 数组,因此它以 undefined 的形式返回,并且您正在尝试访问未定义对象/数组的 length 属性。如果users数组尚未初始化或长度等于0,请尝试以下禁用按钮:

<button type="button" [disabled]="!users || users.length === 0">Send Mass Emails</button>

这是plunkr 的实际演示。

您还可以考虑将 user 数组初始化为组件中的空数组:

users: UsersModel[] = [];

然后您可以简单地根据用户长度为零/虚假来禁用/启用按钮:

<button type="button" [disabled]="!user.length">Send mass emails</button>

这是一个 plunkr 演示将 users 数组初始化为空数组并检查长度以相应地禁用按钮。

希望对您有所帮助!

【讨论】:

【参考方案2】:
<button [disabled]="users.length===0?true:false">Send mass emails</button>

您可以将条件添加到禁用标记,如下所示。即使您可以检查用户数组,然后检查长度,如

<button [disabled]="!user || users.length===0?true:false">Send mass emails</button>

【讨论】:

缺少解释。 -1。没有解释的答案是不完整的。请发布答案,解释您的解决方案解决的什么和原因 @Rajesh 它非常不言自明 对你和我来说,是的。但 SO 是适合所有人的地方。你在为读者回答,你不能确定读者的水平。因此解释。

以上是关于检查数组是不是为空,因此禁用按钮[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:检查对象是不是没有属性或映射/关联数组是不是为空[重复]

如何检查提交时输入字段是不是为空[重复]

如何在javascript中检查我的任何文本框是不是为空[重复]

如何在python中检查字符串是不是为空[重复]

检查数组是不是为空或存在

检查按钮是不是已滑过,并检查其标签? (iOS)[重复]