0

我一直在尝试使用 vuejs 过滤器kendo-grid-column

<kendo-grid-column field="phone" title="Phone" :template="`kendo.toString(phone) | phoneformat`" width="10%"></kendo-grid-column>

结果显示为格式化字符串,而不是显示为

输出显示为

我使用的过滤器:

const filters = [
  {
    name: "phoneformat",
    execute: value => {
        debugger
      var piece1 = phoneNumber.substring(0, 3); //123
      var piece2 = phoneNumber.substring(3, 6); //456
      var piece3 = phoneNumber.substring(6); //7890

      //should return (123)456-7890
      return kendo.format("({0})-{1}-{2}", piece1, piece2, piece3);
    }
  }
];

export default filters;

我一直将过滤器全局注册为:

import filters from './shared/extension'

filters.forEach(f => {
   Vue.filter(f.name, f.execute)
})

帮助我在这里缺少什么。

4

1 回答 1

0
:template="`kendo.toString(phone) | phoneformat`"

您在属性值周围有反引号:template,这意味着您将templateprop 绑定到JavaScript 模板文字,该模板文字评估为文字字符串

"kendo.toString(phone) | phoneformat"

解决方案是简单地绑定一个表达式

<kendo-grid-column :template="phone | phoneformat" ...

于 2019-02-07T03:51:01.047 回答