スクリプトのお勉強

svelteのUIライブラリを使用してみる(TreeView)

投稿日:

前回の続きで、まずは、TreeViewを実現してみます。

Carbon Components Svelte

svelteのUIライブラリにCarbon Components Svelteを使用してみました。

色々あるのですが、まずはこれにしてみようかと思います。

理由としては、TreeViewをとりあえず使ってみたかったから、ということになります。

この中では、Smelteとかでもいいのですが、TreeViewがしょぼいので、とりあえず外しました。

TreeView仕様

TreeView仕様が以下です。

https://carbon-components-svelte.onrender.com/components/TreeView

準備

作ってみるまでの準備は以下です。

$ npx degit sveltejs/template treeview-svelte
$ cd treeview-svelte
### to use TypeScript run:
$ node scripts/setupTypeScript.js
$ npm install
$ npm i -D carbon-components-svelte
$ npm i -D carbon-icons-svelte

動作環境

動作環境は以下の通りです。

### WSL上
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
$ npm --version
6.14.15

テスト起動

起動方法は以下の通りです。

$ npm install
$ npm run dev

ソース

ここに置いておきました。

中心は以下です。

<TreeView
labelText="File Folder Sample"
{children}
bind:activeId
bind:selectedIds
on:select={({ detail }) => console.log("select", detail)}
on:toggle={({ detail }) => console.log("toggle", detail)}
on:focus={({ detail }) => console.log("focus", detail)}
/>

childrenが、TreeView用のデータです。

今のところはサンプルの通り実装しただけです。

画面

画面は以下のようになります。

svelteによるTreeView

終わりに

次はPython と連携してみたいと思います。

参考

  • UIライブラリの参考
    https://medium.com/mkdir-awesome/8-popular-svelte-ui-components-d2a3e43d70c3

-スクリプトのお勉強

執筆者:

関連記事

JSON/YAMLファイル読み込み用ライブラリ比較(Python3)

はじめに Python3でプログラムを作る際、YAML/JSONを読みだす処理を多く作成します。そうすると、データが長く、そして複雑になる時があります。 ネストしてるデータを読みだすと以下のように a …

MySQL MCP Serverを設定/動作確認してみる

はじめに 今はやりの生成AIとして、LLM(ローカルAPI)とMySQLのMCP Serverを使用してチャットシステムを作ろうと思います。 その前に、前回作成したDBへのMySQL MCP Serv …

(小ネタ) Reflex (Python) にてタブ形式のlinkを設定する

小ネタですが書いておきます。 Reflex とは、は割愛 前回に書いたので割愛します。 使い始めてみた 感想は後日、ということで 本題、タブ形式のlinkメニュー たいていのUIコンポーネントにはタブ …

Nuxt.js – CRUDアプリケーションのフォーム/一覧を作成する

前回で作ったAPIのフロントエンドアプリケーションを作ろうと思います。 どういうアプリ? サンプルとして作ったAPIが住所録的だったので、住所録を作りました。 以下の機能があります。 登録(確認付き) …

PyWebIOでform 入力+ REST API呼び出しを作ってみる

仕事柄、簡単なWebアプリを作りたいと思うことはよくあり、その場合はその場で直せるスクリプトで書きたいとよく思うものです。 すごーく簡単なフォームを非常に簡単に使いたいので、まずは簡単に作れるフレーム …

google オプトアウト Click here to opt-out.