数组对象中的 href 链接
href links in the array object
我正在使用 Grid.js 库在 wordpress 网站中构建表格。搜索了很多文档,但无法找到 how to add links to the names in the first column to open in a new tab 这是数组对象。
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<link
href="https://unpkg.com/gridjs/dist/theme/mermaid.min.css"
rel="stylesheet"
/>
<title>Grid.js Hello World</title>
</head>
<body>
<h1>
Grid.js Hello World
</h1>
<div id="wrapper"></div>
<script src="https://unpkg.com/gridjs/dist/gridjs.umd.js"></script>
<script src="src/index.js"></script>
</body>
</html>
JS文件:
new gridjs.Grid({
columns: ["Name", "Email", "Phone Number"],
search: true,
data: [
["John", "john@example.com", "(353) 01 222 3333"],
["Mark", "mark@gmail.com", "(01) 22 888 4444"],
["Eoin", "eoin@gmail.com", "0097 22 654 00033"],
["Sarah", "sarahcdd@gmail.com", "+322 876 1233"],
["Afshin", "afshin@mail.com", "(353) 22 87 8356"]
]
}).render(document.getElementById("wrapper"));
输出
您可以使用 gridjs 提供的自定义单元格格式化程序。
参考文档:https://gridjs.io/docs/examples/html-cells/
我的工作代码沙箱 link:https://codesandbox.io/s/gridjs-hello-world-forked-uvsgom
您可以使用 formatter
选项和 gridjs.html()
函数添加自定义 HTML。例如:
new gridjs.Grid({
// Converted the columns to objects, instead of strings, to pass options
columns: [
{ name: "id", hidden: true },
{
name: "Name",
// Added a `formatter` function
formatter: (cell, row) => {
// Uses the `html` function to add elements
// Note that we're pulling a value for the link from the
// data set as well for a more complete, real-world example
return gridjs.html(
`<a href='mypage.html?id=${row.cells[0].data}'>${cell}</a>`
);
}
},
{
name: "Email",
formatter: (cell, row) => {
return gridjs.html(`<a href='mailto:${row.cells[2].data}'>${cell}</a>`);
}
},
{ name: "Phone Number" }
],
search: true,
// Added unique id, per OP's comments
data: [
[1, "John", "john@example.com", "(353) 01 222 3333"],
[2, "Mark", "mark@gmail.com", "(01) 22 888 4444"],
[3, "Eoin", "eoin@gmail.com", "0097 22 654 00033"],
[4, "Sarah", "sarahcdd@gmail.com", "+322 876 1233"],
[5, "Afshin", "afshin@mail.com", "(353) 22 87 8356"]
]
}).render(document.getElementById("wrapper"));
根据 OP 的评论使用唯一 ID 更新示例
工作代码沙箱:https://codesandbox.io/s/gridjs-hello-world-forked-u52kyg?file=/src/index.js
我正在使用 Grid.js 库在 wordpress 网站中构建表格。搜索了很多文档,但无法找到 how to add links to the names in the first column to open in a new tab 这是数组对象。
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<link
href="https://unpkg.com/gridjs/dist/theme/mermaid.min.css"
rel="stylesheet"
/>
<title>Grid.js Hello World</title>
</head>
<body>
<h1>
Grid.js Hello World
</h1>
<div id="wrapper"></div>
<script src="https://unpkg.com/gridjs/dist/gridjs.umd.js"></script>
<script src="src/index.js"></script>
</body>
</html>
JS文件:
new gridjs.Grid({
columns: ["Name", "Email", "Phone Number"],
search: true,
data: [
["John", "john@example.com", "(353) 01 222 3333"],
["Mark", "mark@gmail.com", "(01) 22 888 4444"],
["Eoin", "eoin@gmail.com", "0097 22 654 00033"],
["Sarah", "sarahcdd@gmail.com", "+322 876 1233"],
["Afshin", "afshin@mail.com", "(353) 22 87 8356"]
]
}).render(document.getElementById("wrapper"));
输出
您可以使用 gridjs 提供的自定义单元格格式化程序。
参考文档:https://gridjs.io/docs/examples/html-cells/
我的工作代码沙箱 link:https://codesandbox.io/s/gridjs-hello-world-forked-uvsgom
您可以使用 formatter
选项和 gridjs.html()
函数添加自定义 HTML。例如:
new gridjs.Grid({
// Converted the columns to objects, instead of strings, to pass options
columns: [
{ name: "id", hidden: true },
{
name: "Name",
// Added a `formatter` function
formatter: (cell, row) => {
// Uses the `html` function to add elements
// Note that we're pulling a value for the link from the
// data set as well for a more complete, real-world example
return gridjs.html(
`<a href='mypage.html?id=${row.cells[0].data}'>${cell}</a>`
);
}
},
{
name: "Email",
formatter: (cell, row) => {
return gridjs.html(`<a href='mailto:${row.cells[2].data}'>${cell}</a>`);
}
},
{ name: "Phone Number" }
],
search: true,
// Added unique id, per OP's comments
data: [
[1, "John", "john@example.com", "(353) 01 222 3333"],
[2, "Mark", "mark@gmail.com", "(01) 22 888 4444"],
[3, "Eoin", "eoin@gmail.com", "0097 22 654 00033"],
[4, "Sarah", "sarahcdd@gmail.com", "+322 876 1233"],
[5, "Afshin", "afshin@mail.com", "(353) 22 87 8356"]
]
}).render(document.getElementById("wrapper"));
根据 OP 的评论使用唯一 ID 更新示例
工作代码沙箱:https://codesandbox.io/s/gridjs-hello-world-forked-u52kyg?file=/src/index.js