【发布时间】:2022-02-02 19:15:56
【问题描述】:
我想以这样一种方式将条件 CSS 属性添加到 div,如果特定条件为真,那么只有它会应用。下面是我的代码。
const Select = ({
handleClick,
title,
permission,
}: SelectProps) => {
return (
<div
onClick={handleClick}
style={{
marginTop: '16px',
cursor: 'pointer',
pointerEvents <-- make this property conditional
${({ permission }) => permission && `pointerEvents: none;`} <-- tried this but not working
}}
>
<Title>{title}</Title>
</div>
);
};
export const RenderSelectBlock = () => {
const checkUserPermission = checkUserPermission();
return (
<Select
handleClick={() => setSelectType('Google')}
title="Google"
checkUserPermission={checkUserPermission}
/>
<Select
handleClick={() => setSelectType('Microsoft')}
title="Microsoft"
checkUserPermission={checkUserPermission}
/>
<Select
handleClick={() => setSelectType('Apple')}
title="Apple"
checkUserPermission={checkUserPermission}
/>
<Select
handleClick={() => setSelectType('Facebook')}
title="Facebook"
checkUserPermission={checkUserPermission}
/>
)
);
};
所以在最后一个Select 中title 是Facebook,如果用户没有权限,我想禁用它,即permission = false。基本上pointerEvents 属性应该只为title= Facebook 添加,如果permission = false 应该设置为none。
【问题讨论】:
标签: html css reactjs typescript