Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ag栅格更改类别或将样式更改为RowNode_Javascript_Ag Grid_Ag Grid Angular - Fatal编程技术网

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
    property
    true
    的行都将具有
    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
    property
    true
    的行都将具有
    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第一次工作,但在方法结果更改时不会更新