Angel丶守护&雪之源 2024-03-06 14:24 采纳率: 22%
浏览 5

tabulator表格,下拉列筛选的选项是A标签节点,如何禁止点击跳转

我使用tabulator制作表格,数据如下:

let arr = [
{
    title: "<a href="http://vc.io/2053.html" title="测试文章111测试文章111测试文章111测试文章111测试文章111测试文章111测试文章111测试文章111">测试文章111测试文章111测试文章111测试文章111测试文章111测试文章111测试文章111测试文章111</a>",
    created: "2021-09-20 15:51:20",
    modified: "2024-01-11 17:22:54"
},
{
    title: "<a href="http://vc.io/1393.html" title="code2">code2</a>",
    created: "2022-03-07 08:58:20",
    modified: "2023-09-21 11:43:47"
}
]
// 创建实例
let Tabulator = new Tabulator("#datatable-table,{
locale: "default",                              // 语言环境
height: 'auto',                                 // 高度
layout: "fitDataFill", 
columns: [
    {
        "title": "标题",
        "field": "title",
        "headerSort": false,
        "headerHozAlign": "left",
        "hozAlign": "left",
        "formatter": "html",
        "headerFilter": "list",
        "headerFilterParams": {
            "valuesLookup": true,
            "clearable": true
        },
        "minWidth": "200"
    },
    {
        "title": "发布",
        "field": "created",
        "headerSort": false,
        "headerHozAlign": "left",
        "hozAlign": "left",
        "formatter": "html",
        "headerFilter": "input",
        "operator": "like"
    },
    {
        "title": "更新",
        "field": "modified",
        "headerSort": false,
        "headerHozAlign": "left",
        "hozAlign": "left",
        "formatter": "html",
        "headerFilter": "list",
        "headerFilterParams": {
            "valuesLookup": true,
            "clearable": true
        }
    }
],
data: arr,
pagination: false,
paginationMode: 'local',
})

创建好的例子如下:

img


点击列表文字会跳转页面,我该怎么禁止跳转呢?

  • 写回答

4条回答 默认 最新

  • 关注

    Angel丶守护&雪之源 下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    要禁止点击跳转,可以使用Tabulator提供的formatter函数来自定义列的显示内容。对于包含A标签的列,可以将其转换为纯文本显示,以禁止点击跳转。以下是解决方案:

    1. 在Tabulator的columns配置中,对包含A标签的标题列进行修改;
    2. 在formatter函数中将A标签转换为纯文本。

    修改后的代码如下所示:

    // 创建实例
    let Tabulator = new Tabulator("#datatable-table", {
      locale: "default", // 语言环境
      height: 'auto', // 高度
      layout: "fitDataFill",
      columns: [
        {
          title: "标题",
          field: "title",
          headerSort: false,
          headerHozAlign: "left",
          hozAlign: "left",
          formatter: function(cell, formatterParams, onRendered) {
            // 将包含A标签的内容转换为纯文本
            return cell.getValue().replace(/<\/?a[^>]*>/gi, '');
          },
          headerFilter: "list",
          headerFilterParams: {
            valuesLookup: true,
            clearable: true
          },
          minWidth: "200"
        },
        {
          title: "发布",
          field: "created",
          headerSort: false,
          headerHozAlign: "left",
          hozAlign: "left",
          formatter: "html",
          headerFilter: "input",
          operator: "like"
        },
        {
          title: "更新",
          field: "modified",
          headerSort: false,
          headerHozAlign: "left",
          hozAlign: "left",
          formatter: "html",
          headerFilter: "list",
          headerFilterParams: {
            valuesLookup: true,
            clearable: true
          }
        }
      ],
      data: tabledata,
      pagination: false,
      paginationMode: 'local'
    });
    

    以上代码修改了标题列的formatter函数,在函数中使用正则表达式将A标签替换为空字符串。这样,A标签将被视为普通文本显示,点击不会触发跳转。

    评论

报告相同问题?

问题事件

  • 修改了问题 3月6日
  • 创建了问题 3月6日

悬赏问题

  • ¥20 python爬虫遇到空文本取不出来
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入