如何有条件地更改详细信息列表中一行的颜色?
How to conditionally change a color of a row in detailslist?
我正在查看 customitemrows,但文档不多。
我有一个 table,如果当前用户创建了一行,我想将颜色从黑色更改为灰色。我可以用 style
做到这一点。我了解如何有条件地更改 customitemcolumns 中的颜色,但无法将其外推到行。
我必须:
_onRenderRow = (props) => {
return props.item['creatorUid'].match("QDN6k4pLXkea2qRM9mS7vM6whBE3")?
<DetailsRow {...props} style={{color:"#FF0000"}}/>
:
<DetailsRow {...props}/>
}
但是颜色没变
<DetailsList
items={ items }
columns={ columns }
onRenderRow={ (props, defaultRender) => (
<div className='red'>
{defaultRender({...props, className: 'red'})}
</div>
) }
/>
<DetailsList
items={ items }
columns={ columns }
onRenderRow={ (props, defaultRender) => (
<div className='red'>
{defaultRender({...props, styles: {root: {background: 'red'}}})}
</div>
) }
/>
https://codepen.io/vitalius1/pen/pQmpVO
在这里您可以看到 2 种方法可以实现您的要求。
- 首先是传递一个常规类名并让它覆盖默认样式。如果您需要覆盖悬停状态或其他任何内容,您必须在开发工具中检查并定位适当的 类.
- 其次是实际推荐和内部使用的应用默认样式。使用此方法,当您想要覆盖悬停状态或其他任何内容时,您需要为每个样式区域提供样式(在示例中
root
就是其中之一)。对于每行可用的样式区域列表,请遵循 this link. For an example on usage of the selectors for hover states follow this link.
注意:使用第二种方法,您还可以传递样式函数以利用 IDetailsRowStyleProps
,如 here 所示。这样你就可以根据组件的状态拥有非常动态的样式
我正在查看 customitemrows,但文档不多。
我有一个 table,如果当前用户创建了一行,我想将颜色从黑色更改为灰色。我可以用 style
做到这一点。我了解如何有条件地更改 customitemcolumns 中的颜色,但无法将其外推到行。
我必须:
_onRenderRow = (props) => {
return props.item['creatorUid'].match("QDN6k4pLXkea2qRM9mS7vM6whBE3")?
<DetailsRow {...props} style={{color:"#FF0000"}}/>
:
<DetailsRow {...props}/>
}
但是颜色没变
<DetailsList
items={ items }
columns={ columns }
onRenderRow={ (props, defaultRender) => (
<div className='red'>
{defaultRender({...props, className: 'red'})}
</div>
) }
/>
<DetailsList
items={ items }
columns={ columns }
onRenderRow={ (props, defaultRender) => (
<div className='red'>
{defaultRender({...props, styles: {root: {background: 'red'}}})}
</div>
) }
/>
https://codepen.io/vitalius1/pen/pQmpVO
在这里您可以看到 2 种方法可以实现您的要求。
- 首先是传递一个常规类名并让它覆盖默认样式。如果您需要覆盖悬停状态或其他任何内容,您必须在开发工具中检查并定位适当的 类.
- 其次是实际推荐和内部使用的应用默认样式。使用此方法,当您想要覆盖悬停状态或其他任何内容时,您需要为每个样式区域提供样式(在示例中
root
就是其中之一)。对于每行可用的样式区域列表,请遵循 this link. For an example on usage of the selectors for hover states follow this link.
注意:使用第二种方法,您还可以传递样式函数以利用 IDetailsRowStyleProps
,如 here 所示。这样你就可以根据组件的状态拥有非常动态的样式