2015-06-29 6 views
1

Я создаю Кендо таблицу внутри файла машинописи, используя синтаксис, показанный ниже (взято из http://demos.telerik.com/kendo-ui/bar-charts/index):Кендо, ошибка машинописи определения:

function createChart() { 
      $("#chart").kendoChart({ 
       title: { 
        text: "Site Visitors Stats \n /thousands/" 
       }, 
       legend: { 
        visible: false 
       }, 
       seriesDefaults: { 
        type: "bar" 
       }, 
       series: [{ 
        name: "Total Visits", 
        data: [56000, 63000, 74000, 91000, 117000, 138000] 
       }, { 
        name: "Unique visitors", 
        data: [52000, 34000, 23000, 48000, 67000, 83000] 
       }], 
       valueAxis: { 
        max: 140000, 
        line: { 
         visible: false 
        }, 
        minorGridLines: { 
         visible: true 
        }, 
        labels: { 
         rotation: "auto" 
        } 
       }, 
       categoryAxis: { 
        categories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun"], 
        majorGridLines: { 
         visible: false 
        } 
       }, 
       tooltip: { 
        visible: true, 
        template: "#= series.name #: #= value #" 
       } 
      }); 
     } 

Когда я делаю это, я получаю следующее сообщение об ошибке, которое кажется чтобы указать, что ChartOptions, как ожидается, будет массив:

«Ошибка 70 Аргумент типа«{название: {текст: строка;}; легенда: { видимые: булево;}; seriesDefaults: {типа: строка ;}; ser ... 'не , назначаемый параметру типа' ChartOptio нс. Типы имущества 'categoryAxis' несовместимы. Тип '{[x: number]: undefined; Категории: string []; mainGridLines: {visible: boolean; }; } 'не присваивается типу ' ChartCategoryAxisItem [] '. Отсутствует свойство 'length' type '{[x: number]: undefined; Категории: string []; mainGridLines: {visible: boolean; }; }»«

Если я изменить функцию createChart, как показано ниже, ошибка исчезнет, ​​но график не делает:.

function createChart() { 
      $("#chart").kendoChart([{ //Notice opening array bracket 
       title: { 
        text: "Site Visitors Stats \n /thousands/" 
       }, 
       legend: { 
        visible: false 
       }, 
       seriesDefaults: { 
        type: "bar" 
       }, 
       series: [{ 
        name: "Total Visits", 
        data: [56000, 63000, 74000, 91000, 117000, 138000] 
       }, { 
        name: "Unique visitors", 
        data: [52000, 34000, 23000, 48000, 67000, 83000] 
       }], 
       valueAxis: { 
        max: 140000, 
        line: { 
         visible: false 
        }, 
        minorGridLines: { 
         visible: true 
        }, 
        labels: { 
         rotation: "auto" 
        } 
       }, 
       categoryAxis: { 
        categories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun"], 
        majorGridLines: { 
         visible: false 
        } 
       }, 
       tooltip: { 
        visible: true, 
        template: "#= series.name #: #= value #" 
       } 
      }]); // And closing array 
     } 

Кто-нибудь еще сталкивался с таким вопросом, мне кажется? ошибка в файле определения

ответ

1

Я был в состоянии решить эту проблему путем определения значений valueAxis и CategoryAxis как массивы, как показано ниже:

function createChart() { 
      $("#chart").kendoChart({ 
       title: { 
        text: "Site Visitors Stats \n /thousands/" 
       }, 
       legend: { 
        visible: false 
       }, 
       seriesDefaults: { 
        type: "bar" 
       }, 
       series: [{ 
        name: "Total Visits", 
        data: [56000, 63000, 74000, 91000, 117000, 138000] 
       }, { 
        name: "Unique visitors", 
        data: [52000, 34000, 23000, 48000, 67000, 83000] 
       }], 
       valueAxis: [{ 
        max: 140000, 
        line: { 
         visible: false 
        }, 
        minorGridLines: { 
         visible: true 
        }, 
        labels: { 
         rotation: "auto" 
        } 
       }], 
       categoryAxis: [{ 
        categories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun"], 
        majorGridLines: { 
         visible: false 
        } 
       }], 
       tooltip: { 
        visible: true, 
        template: "#= series.name #: #= value #" 
       } 
      }); 
     } 
0

Я создал патч для этого определения типа, которая позволяет точный код, который вы используете

это слишком большой, чтобы разместить на переполнение стека, так что патч здесь?.: https://github.com/Steve-Fenton/DefinitelyTyped/blob/patch-1/kendo-ui/kendo-ui.d.ts

Если ваш код работает вместе с этим определением, я могу отправить запрос на pull для проекта с определенными типами, чтобы он был обновлен (поэтому он будет доступен как пакет NuGet и т. Д.).

+0

Я был в состоянии решить эту проблему путем определения свойств в вопросе, как массивы, но спасибо за информация. –

 Смежные вопросы

  • Нет связанных вопросов^_^