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

如何基于条件为React Button组件设置data-bs-dismiss属性?

React组件条件设置属性的正确写法

你原来的写法用数组展开是错误的,React组件属性需以对象键值对的方式处理,给你两种可行的实现方式:

  • 方法一:对象展开运算符
    借助对象展开逻辑,当btnLoading为false时,展开包含目标属性的对象;当btnLoading为true时展开空对象,相当于不设置该属性:

    <Button
      {...(!btnLoading && { 'data-bs-dismiss': 'modal' })}
      // 其他按钮属性,比如 disabled={btnLoading}
    >
      {btnLoading ? '加载中...' : '关闭弹窗'}
    </Button>
    
  • 方法二:直接赋值undefined/null
    React会自动忽略值为undefined或null的属性,因此可以直接对属性做条件赋值:

    <Button
      data-bs-dismiss={btnLoading ? undefined : 'modal'}
      // 其他按钮属性
    >
      {btnLoading ? '加载中...' : '关闭弹窗'}
    </Button>
    

你原写法失效的原因:你用了数组[data-bs-dismiss='modal'],但React组件属性要求是键值对对象,数组展开在这里完全不适用,且这种数组写法本身语法也不合法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:07:09