[解決済み] LegendItemComponent をカスタマイズする Angular 用 kendo-ui
2022-01-31 12:03:31
質問
皆さん、おはようございます。ドーナツチャートの凡例をカスタマイズする必要があります。 ドキュメントによると、LegendItemVisualArgsオブジェクトを定義して、createVisual()メソッドを初期化する必要があるそうです。
ここでは、私が行った方法を紹介します。
export class CustomLegendItemViewModel implements LegendItemVisualArgs {
options: any;
pointIndex: any;
sender: ChartComponent;
series: any;
createVisual(): Circle {
const geometry = new GeomCircle([10, 10], 10);
return new Circle(geometry);
}
その後、Angularコンポーネントにこのオブジェクトを作成します。
export class ChartItemComponent implements OnInit, OnDestroy {
visual: CustomLegendItemViewModel = new CustomLegendItemViewModel();
}
そして、HTMLコードでは、私のカスタム凡例-アイテムビューを私のオブジェクトにバインドしようとします。
<kendo-chart>
<kendo-chart-series>
<kendo-chart-series-item [holeSize]="100"
type="donut" [data]="data2" [size]="20"
categoryField="kind" field="share">
</kendo-chart-series-item>
</kendo-chart-series>
<kendo-chart-legend [visible]="true">
<kendo-chart-legend-item [visual]="visual"></kendo-chart-legend-item>
</kendo-chart-legend>
</kendo-chart>
というエラーに直面したことがあります。
Uncaught TypeError: customVisual is not a function
at LegendItem.renderVisual (legend-item.js:112)
at LegendLayout.render (legend-layout.js:33)
at Legend.createItems (legend.js:101)
at new Legend (legend.js:27)
at Chart._getModel (chart.js:463)
at Chart._redraw (chart.js:279)
at Chart._noTransitionsRedraw (chart.js:1284)
at Chart._resize (chart.js:134)
at Chart.resize (chart.js:128)
at ChartComponent.push../node_modules/@progress/kendo-angular-charts/dist/es/chart.component.js.ChartComponent.resize (chart.component.js:389)
どなたか、この問題を解決する方法をご存知でしょうか?または、カスタマイズの例への参照を送ってください。
ありがとうございます。
解決方法は?
APIに基づき
function
から
visual
の入力になります。(
APIリファレンス
)
以下のコードで、関数をバインドしています。
visualFn
を入力に
visual
. (
作業例
)
html
<kendo-chart>
...
<kendo-chart-legend [visible]="true">
<kendo-chart-legend-item [visual]="visualFn"></kendo-chart-legend-item>
</kendo-chart-legend>
</kendo-chart>
コンポーネント
public visualFn(e: SeriesVisualArgs): Group {
const geometry = new GeomCircle([10, 10], 10);
return new Circle(geometry);
}
関連
-
[解決済み] 安全でない値」の例外を発生させずに <iframe src="..."> を設定するにはどうしたらよいですか?
-
[解決済み] コンポーネントは2つのモジュールの宣言に含まれる
-
[解決済み] Angular InjectionTokenが「No provider for InjectionToken」をスローします。
-
[解決済み] Angular HTMLバインディング
-
[解決済み] Angular:*ngClassを使った条件付きクラス
-
[解決済み] Angular/RxJS `Subscription` からいつ退会すればいいのか?
-
[解決済み] モジュール "@angular-devkit/build-angular" が見つかりませんでした。
-
[解決済み] Angularプロジェクトごとに生成される膨大な数のファイル
-
[解決済み] Angularの@Directiveと@Componentの比較
-
[解決済み] Angular - すべてのリクエストにヘッダを設定する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】本番モードを有効にするには?
-
[解決済み】angularモジュールでModule has no exported memberエラー
-
[解決済み] angularでpreflightのレスポンスがHTTP okステータスにならない
-
[解決済み] Angular 2で簡単なアコーディオンを作成するにはどうすればよいですか?
-
[解決済み] 型 '{}' は型 '{ title: string; text: string; }' に代入できません。
-
[解決済み] Visual Code で未定義のプロパティ 'thisCompilation' を読み取ることができません。
-
[解決済み] Angular2 Final Release - 「Error: AngularにはZone.jsのプロリフィルが必要です"
-
[解決済み] ZoneAwarePromiseとは
-
[解決済み] Angular2の$document.ready()に相当します。
-
[解決済み] Angular 6でmouseoverとmouseoutを使用する方法