【问题标题】:Copy cell feature with complex object复制具有复杂对象的单元格特征
【发布时间】:2019-03-19 01:47:30
【问题描述】:

我正在使用复杂对象来渲染 ag-grid 列。

员工姓名(街道)

约翰(圣露西一号)

约翰(圣露西二)

例如这是 json:

  { 
      "employee":[
        "name": "John", 
        "address":[
           {
            "street":"st. lucy One",
            "postalcode":"jkjkjk"
             ....
           },
           {
            "street":"st. lucy Two",
            "postalcode":"jkjkjk"
             ....
           }
         ]
       ]
    }

ag-grid 列说明:

 {
        headerName: "Employee",
        field: "employee",
        cellRenderer: EmployeeComponent // Render HTML from component to display name & street in Employee Name(street) Column
 }

我能够将 HTML 渲染到单元格中。

问题:但是,它破坏了通过右键单击员工姓名(街道)单元格来应对的功能。当我复制单元格时,它会复制 Object [object](我认为这是员工对象),但无法复制 Employee Name(street) 文本。

任何帮助将不胜感激。

【问题讨论】:

  • 能否请您提供一个代码示例以便我们弄清楚?您没有指定任何“复制功能”,所以我们看不到它的样子。在这里你可以做一个你的问题的样本stackblitz.com
  • 嗨,谢尔盖,我在这里创建了一个示例:stackblitz.com/edit/ag-grid-checkbox-eabwls 当您尝试通过右键单击“员工地址”列中的单元格复制“地址一和地址二”并粘贴到记事本或任何地方。它复制对象,如 [object Object],[object Object]....
  • 看起来你想在那里打印多个地址。另外我假设您正在使用具有内置复制方法的工具来复制单元格的内容。那就是问题所在。您正在粘贴组件而不是文本。您可以只使用arr.join(' ') 来制作与指定符号连接的数组值字符串并将其粘贴进去。因此,您将拥有一个单元格,其中包含文本而不是组件
  • 好的 arr.join(‘ ‘) 应该可以工作,但是在哪里实现呢?你知道我应该在哪里写这个语句的 ag-grid 函数吗?
  • 我没有。实际上你可以加入数组然后将它传递给指令。因此您不需要自定义渲染器

标签: angular angular5 ag-grid


【解决方案1】:

如果您为单元格提供 valueGetter,您的问题应该就解决了。

https://www.ag-grid.com/javascript-grid-value-getters/

希望对你有帮助

【讨论】:

    【解决方案2】:

    我确实遇到了这个问题,我设法通过使用此答案中的代码使其正常工作:

    https://stackoverflow.com/a/56597441/3018671

    【讨论】:

      猜你喜欢
      • 2014-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-07
      • 2012-10-22
      • 2013-10-16
      • 1970-01-01
      • 2012-02-14
      相关资源
      最近更新 更多