el-table-column格式化显示内容

写需求的时候碰到了记录一下。要对el-table-column的显示进行处理。
有些需求简单一点,不需要逻辑处理,比如下面代码的优惠那列,需求是当没有优惠时显示-,有优惠时显示多少元。解决方法是插槽和v-if判断。详细见以下代码。
复杂一点的需求是对距离做处理,<1km的显示多少米,>1km的就显示几点几公里,因为后端本身返回的就是‘0.0公里‘这种字符串,所以要前端进行处理。在距离的el-table-column上添加:formatter=‘logisticDescData’。

      <el-table :data="deliveryTypeTable" @selection-change='checkNumChange($event)'>
        <el-table-column prop="logisticName" label="配送方式"></el-table-column>
        <el-table-column prop="logisticDesc" label="距离" :formatter='logisticDescData'></el-table-column>
        <el-table-column prop="coupons_amount" label="优惠">
          <template slot-scope="scope">
            <span  v-if="scope.row.coupons_amount!==0">{{scope.row.coupons_amount}}元</span>
            <span v-else>-</span>
          </template>
        </el-table-column>
        <el-table-column prop="delivery_fee" label="价格">
          <template slot-scope="scope">{{scope.row.delivery_fee+'元'}}</template>
        </el-table-column>
        <el-table-column :reserve-selection="true" type="selection"></el-table-column>
      </el-table>

然后在logisticDescData里进行逻辑处理,把获取的字符串转成数字,处理好return回去就行。

    // 距离小于1000显示米
    logisticDescData (row) {
      let numLogisticDesc = parseInt(row.logisticDesc) * 1000
      if (numLogisticDesc < 1000) {
        return numLogisticDesc + '米'
      } else {
        return row.logisticDesc
      }
    },
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值