Kendo-vue-ui обертка Kendo-grid-column формат телефонного номера в сетке - PullRequest
0 голосов
/ 07 февраля 2019

Я пытался использовать фильтр vuejs в kendo-grid-column

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

Вместо того, чтобы отображаться в виде отформатированной строки, результат отображается как

Output displayed as

Фильтр, который я использую как:

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)
})

Помогите мне, чего мне здесь не хватает.

1 Ответ

0 голосов
/ 07 февраля 2019
:template="`kendo.toString(phone) | phoneformat`"

У вас есть кавычки вокруг значения атрибута :template, что означает, что вы привязываете template реквизит к шаблонному литералу JavaScript , который оценивается как буквальная строка

"kendo.toString(phone) | phoneformat"

Решение состоит в том, чтобы просто связать выражение

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

См.

...