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

如何在SetConfirmDialog等setState类状态更新函数中编写条件判断语句?

问题根因

你在对象字面量的title属性值位置错误嵌套了多余的大括号{}:

  • 在JSX标签内插入JS表达式需要用{}包裹,但普通对象字面量的属性值直接写JS表达式即可,不需要额外套{}
  • 多余的大括号会导致title被赋值为一个对象,而非你预期的字符串,因此条件判断逻辑不会生效
    另外你当前的subTitle是固定文案,和操作行为不匹配,可以同步做条件适配。
修正后代码
<Button
  color={user.active ? "success" : "error"}
  variant="text"
  startIcon={<UserCheck />}
  title={user.active ? "غیر فعال کردن" : "فعال کردن"}
  onClick={() => {
    SetConfirmDialog({
      isOpen: true,
      // 移除多余的外层大括号,直接使用三目表达式作为属性值
      title: user.active ? 'کاربر فعال گردد؟' : 'کاربر غیر فعال گردد؟',
      // 副标题同步适配操作类型
      subTitle: user.active ? 'شما مطعن هستید که کابر باید فعال گردد؟' : 'شما مطعن هستید که کابر باید غیر فعال گردد؟'
    });
  }}
>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:45:04