javascript - 如果 true 设置属性,否则在 JSX 中设置 className

标签 javascript reactjs jsx

我的组件中有一个按钮,如果项目状态被接受,则应禁用该按钮,否则应附加 Bootstrap 成功类。

我在这里面临的问题是 disabled 不是类名而不是属性, Bootstrap btn btn-success 是类名。

如果它只是关于 classNames 我没有问题像这里一样

className={items.status === 'declined' ? 'danger' : 'success'}>

但这会导致错误,我目前不知道该怎么做。

 {items.status === 'accepted' ? 'disabled' : 'className=btn btn-success'}

我之前也做过一些研究,但这对我没有帮助。 React.js Disable button

有人能给我指出正确的方向吗?当 true 是一个属性而 false 是一个类名时,如何编写 JSX 简写 if-else?

提前致谢!

最佳答案

您应该同时设置属性 classNamedisabled

const isAccepted    = items.status === 'accepted';
const buttonClasses = isAccepted ? '<some class>' : '<another class>'

<button 
   className={ buttonClasses }
   disabled={ isAccepted }
>
  Button
</button>

关于javascript - 如果 true 设置属性,否则在 JSX 中设置 className,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38653187/

相关文章:

javascript - 选择选项时 react native 自动完成输入列表未关闭

javascript - 获取元素的滚动位置以与另一个元素同步

javascript - 如何从非标记文本中获取最后几句的文本?

javascript - 为什么浏览器关闭时我的 cookie 会丢失? (由javascript设置的过期时间)

javascript - 使用 Angular 4 作为现有 Web 应用程序的一部分

javascript - 如何使用 Babel-Standalone 在客户端 React JSX 中执行导入/导出

javascript - HTML 页面中的 Sharepoint 上下文信息

reactjs - 使用测试工具在reactjs组件上调用setState不重新渲染组件

reactjs - React Native S3 图片上传使用 XHR 返回 "Stream Closed"

reactjs - 在 Gatsby 中添加 Script 标签