在 Grid.js 中使用 HTML 填充单元格

Populate cells with HTML in Grid.js

如何用 Grid.js 中的 HTML 内容填充单元格?

首先导入html函数:

import { Grid, html } from "gridjs";

然后在 formatter 函数中使用它或直接在 data 中使用:

const grid = new Grid({
  columns: [
      { 
        name: 'Name',
        formatter: (cell) => html(`<b>${cell}</b>`)
      },
      'Email',
      { 
        name: 'Actions',
        formatter: (_, row) => html(`<a href='mailto:${row.cells[1].data}'>Email</a>`)
      },
   ],
  data: Array(5).fill().map(x => [
    faker.name.findName(),
    faker.internet.email(),
    null
  ])
});

另请查看 https://gridjs.io/docs/examples/html-cells

我正在通过浏览器使用 gridjs CDN 实现, 我可以通过 gridjs 命名空间访问 html 函数来使用格式化程序,如下所示

    {
        name: "Action",
        formatter: (cell) => {
            return gridjs.html(`<a href="">update</a>`)
            // return `Update button`
        }
    }

对我来说,我将脚本类型“text/javascript”设置为“模块”。 然后我可以像这样使用“导入”=>

<script type="module">
        import {
            Grid,
            html
        } from "/Scripts/gridjs.production.es.min.js";
        
        //then use html with formatter

        {
           name: "Actions",
           formatter: (cell) => {
           return html(`<a data-id=${cell} href="#"><span class="glyphicon glyphicon-pencil"></span>Edit</a>`)
        }
}
</script>

您还可以修改通过服务或其他方式接收的数据,然后将其传递给 html ;)

import { Grid, html } from "gridjs";

const columns = [
        {
            id: 'difficulty',
            name: 'Difficulté',
            formatter: (cell) => {
                const difficultyConverter = new DifficultyConverter()
                const displayedDifficultyResults = difficultyConverter.getNameAndAssociatedClassName(cell, null)

                return html(`<span class='badge ${displayedDifficultyResults.originClassToAdd}--active'>${displayedDifficultyResults.originName}</span>`)
            }
        },
        {
            id: 'community_difficulty',
            name: 'Communauté',
            formatter: (cell) => {
                const difficultyConverter = new DifficultyConverter()
                const displayedDifficultyResults = difficultyConverter.getNameAndAssociatedClassName(cell, null)

                return html(`<span class='badge ${displayedDifficultyResults.originClassToAdd}--active'>${displayedDifficultyResults.originName}</span>`)
            }
        },
]