スクリプトのお勉強

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

-スクリプトのお勉強

執筆者:

関連記事

FastAPIでAPIを作ってみる(その1)

勉強として、FastAPIを使用して、実際にAPIを作成し、起動しようと思います。目標としては、本番運用用の設定まで行いたいと思います。 FastAPIとは FastAPIとは、Pythonによる、W …

fastapi + SQLAlchemy で CRUDアプリケーションを作ってみる

概要 勉強用に、PythonでPostgresqlを制御しようと思います。の続きです。 前回でPostgreSQLと、データベース/テーブルまでは用意したので、今回はAPIを作成しようと思います。 実 …

Mojolicious XML-RPC Pluginの開発(2)

はじめに 「Mojolicious XML-RPC Pluginの開発」のその2です。 本内容では、前回の内容を踏まえ、XML-RPC実装を、Mojoliciousのプラグイン機能を使用して実装しよう …

Mojolicious XML-RPC Pluginの開発(1)

はじめに 最近、お仕事関連で、perlとWebアプリケーションを触っています。 両方一度にお勉強、ということで、perlのWAF(Webアプリケーションフレームワーク)を調べてみようと思いました。 こ …

Nuxt.jsのFormで入力/確認/完了フォームを作成してみた(その1)

背景 今回は、Webアプリケーションの、フロントエンド系のお話です。ほとんどの場合、バックエンドなのですが、時々フロントエンドもするんですよね。。 私の派遣先では、入力フォームを以下のように分ける要望 …

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