Javascript ag栅格更改类别或将样式更改为RowNode
我正在尝试使用Javascript ag栅格更改类别或将样式更改为RowNode,javascript,ag-grid,ag-grid-angular,Javascript,Ag Grid,Ag Grid Angular,我正在尝试使用NodeRow对象更改样式,但它无权访问元素 api.getSelectedNodes().forEach((节点)=>{ if(node.data.isGreen) node.rowClass.addClass(['.被选为绿色'])//类似于这样的内容 }) 是否有任何方法可以使用NodeRow更改类?有一种方法,但不是您期望的方法 首先,我们不能通过编程方式访问RowNode的DOM来更新其CSS类 遵循以下步骤 设置rowClassRules的gridOptions属性
NodeRow
对象更改样式,但它无权访问元素
api.getSelectedNodes().forEach((节点)=>{
if(node.data.isGreen)
node.rowClass.addClass(['.被选为绿色'])//类似于这样的内容
})
是否有任何方法可以使用NodeRow更改类?有一种方法,但不是您期望的方法 首先,我们不能通过编程方式访问
RowNode
的DOM来更新其CSS类
遵循以下步骤
rowClassRules
的gridOptions
属性
gridOptions.rowClassRules = {
'is-selected-green': (params) => {
// try accessing this.otherMethod() here
return params.data.isGreen;
}
// all other classes and their rules
};
isGreen
propertytrue
的行都将具有is selected green
属性
ag row selected
将应用于该行,因此使用下面的CSS使其看起来不同
.is-selected-green.ag-row-selected {
// any style
}
有办法,但不是你所期望的 首先,我们不能通过编程方式访问
RowNode
的DOM来更新其CSS类
遵循以下步骤
rowClassRules
的gridOptions
属性
gridOptions.rowClassRules = {
'is-selected-green': (params) => {
// try accessing this.otherMethod() here
return params.data.isGreen;
}
// all other classes and their rules
};
isGreen
propertytrue
的行都将具有is selected green
属性
ag row selected
将应用于该行,因此使用下面的CSS使其看起来不同
.is-selected-green.ag-row-selected {
// any style
}
如果可以根据其他外部上下文更改元素,您可以详细说明您的问题吗?假设我有一个全局对象,其方法类似于
globalState
。我想根据外部状态和节点数据更改类规则,但数据不会更改。例如node.data.x==1&&globalState.shouldBeRed()
如果我理解它取决于要更新的ag数据,但在这种情况下,它取决于一个外部值,当方法shouldBeRed()
chage时,它可能会更改,这是您可以调试和检查的结果。。我想,当我们在这里使用箭头函数时,应该可以在rowClassRules
函数下访问它。我已经更新了答案。CheckIt第一次工作,但在可能基于其他外部上下文更改元素的情况下,当方法结果更改时,它不会更新?您能详细说明您的问题吗?假设我有一个全局对象,其方法类似于globalState
。我想根据外部状态和节点数据更改类规则,但数据不会更改。例如node.data.x==1&&globalState.shouldBeRed()
如果我理解它取决于要更新的ag数据,但在这种情况下,它取决于一个外部值,当方法shouldBeRed()
chage时,它可能会更改,这是您可以调试和检查的结果。。我想,当我们在这里使用箭头函数时,应该可以在rowClassRules
函数下访问它。我已经更新了答案。CheckIt第一次工作,但在方法结果更改时不会更新