bootstrapTable updateRow内容格式问题

通过bootstrap table的updateRow或者updateCell无刷新更新单元格内容时,如果想加一些效果,比如改变字体颜色之类的,不能直接对字段进行格式化,否则字段值只是被更新为格式化后的字符串,也就是说字段值被更改且效果未被渲染。

举个例子,比如按秒更新运行时间duration,并且以红色字体显示:

function changeDuration(i,row){
    row.duration++;
    table.bootstrapTable('updateCell', { 
        index: i,
        field:"duration",
        value:"<span style='color: red;'>"+row.duration+"</span>"
    });
}

这么做会发现duration单元格的内容只是简单的显示为:<span style='color: red;'>10</span>

解决方法:

在初始化表格的field时,需定义对应的格式化函数,同时为了避免原本的字段值被更新,需要单独设置一个用于显示效果的字段,比如:duration_text,具体为:

1、单独定义用于显示效果的字段duration_text,并指定格式化函数

{field: 'duration_text', title: __('Duration_text'),operate:false,formatter: Controller.api.formatter.duration},
2、格式化函数:
duration: function (value, row, index) {
    return "<span style='color: red;'>" + row.duration + "</span>"
}

3、将updateCell的字段改为duration_text

function changeDuration(i,row){
    row.duration++;
    table.bootstrapTable('updateCell', { 
        index: i,
        field:"duration_text",
        value:"<span style='color: red;'>"+row.duration+"</span>"
    });
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值