Kendo for Angular - элементы управления макетом не работают - PullRequest
0 голосов
/ 06 марта 2019

Я довольно новичок в Angular и Kendo UI, так что я уверен, что делаю что-то не так, но не могу понять, что именно. Я создал тестовый проект и хотел бы выложить базовую оболочку с использованием некоторых компонентов компоновки Kendo. Я импортировал пакет

Я добавил пакет, используя ng add @progress/kendo-angular-layout, он пробежал и сказал, что он работает. Я получаю правильные предложения для компонентов макета Kendo в своей среде IDE (Webstorm), но при запуске я не получаю компоненты макета. Вот мой код в файле app.component.html:

<!--The content below is only a placeholder and can be replaced.-->
<kendo-splitter orientation="horizontal" style="height: 200px">
  <kendo-splitter-pane [collapsible]="true" size="20%"><div class="pane-content"><p>left pane</p></div></kendo-splitter-pane>
  <kendo-splitter-pane><div class="pane-content"><p>Right Pane</p></div></kendo-splitter-pane>
</kendo-splitter>
<kendo-panelbar>
  <kendo-panelbar-item [title]="'test title'"></kendo-panelbar-item>
</kendo-panelbar>
<div>

</div>
<div style="text-align:center">
  <h1>
    Welcome to {{ title }}!
  </h1>
  <img width="300" alt="Angular Logo" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==">
</div>
<h2>Here are some links to help you start: </h2>
<ul>
  <li>
    <h2><a target="_blank" rel="noopener" href="https://angular.io/tutorial">Tour of Heroes</a></h2>
  </li>
  <li>
    <h2><a target="_blank" rel="noopener" href="https://angular.io/cli">CLI Documentation</a></h2>
  </li>
  <li>
    <h2><a target="_blank" rel="noopener" href="https://blog.angular.io/">Angular blog</a></h2>
  </li>
</ul>

Нижняя часть - это стандартный угловой шаблон, который я еще не удалил, но оставляю его на всякий случай, если по какой-то причине он имеет какой-то эффект.

Единственный CSS, который у меня есть, это компонент приложения:

.pane-content{
  padding: 0 10px;
}

и это в основном файле styles.css приложения (я импортировал шрифт из Google fonts в index.html):

/* You can add global styles to this file, and also import other style files */
body {
  font-family: 'Martel Sans', sans-serif;
}

Вот что я вижу в Chrome:

Incorrect Layout

Это макет, как будто он вообще не использует элементы управления Kendo ... Я также попробовал это с элементом управления treeview, и он отлично работал, основываясь на их примерах, но этот, кажется, не по какой-то причине , Кто-нибудь знает почему?

- EDIT -

После комментария ниже я импортировал в app.module.ts. Вот код в этом файле:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import {LayoutModule, PanelBarModule, SplitterModule} from '@progress/kendo-angular-layout';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';



@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    LayoutModule,
    BrowserAnimationsModule,
    LayoutModule,
    SplitterModule,
    PanelBarModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Это изменило макет только потому, что теперь я вижу «название теста» вместо «Без названия». Ближе, но все еще чего-то не хватает ...

Ответы [ 2 ]

1 голос
/ 07 марта 2019

В моем предыдущем опыте работы с Kendo вам также может понадобиться импортировать тему css в ваше приложение.Без этого kendo не будет стилизовать компоненты так, как это делают их примеры на сайте.

Следуя их StackBlitz example , я вижу, что они ссылаются на таблицу стилей в файле index.html.Когда я удаляю строку ниже, компонент сплиттера выглядит аналогично вашему редактированию.Попробуйте.

    <link rel="stylesheet" href="https://unpkg.com/@progress/kendo-theme-default@latest/dist/all.css" />

Вы можете попробовать запустить свой код или просмотреть пример выше, нажав найденную ссылку "Открыть в StackBlitz".

1 голос
/ 07 марта 2019

Убедитесь, что вы импортируете соответствующие модули в файл app.module.ts ...

...    
imports: [
    BrowserModule,
    LayoutModule,
    BrowserAnimationsModule,
    LayoutModule,
    SplitterModule,
    PanelBarModule
  ],
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...