スクリプトのお勉強

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

-スクリプトのお勉強

執筆者:

関連記事

Mojolicious XML-RPC Pluginの開発(2)

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

Django2.2 でのMySQL5.1対応

「対応」と書きながら、思い切り回避ですが。 マイグレーション時のエラー マイグレーションしたら、以下のエラーになりました。 $ pipenv run python3 manage.py migrate …

CentOS7 + Django2.2 + uwsgi + nginx 連携方法

Djangoとnginx連携方法 以前はApache経由で連携しましたが、今回はnginxと連携する方法を記述します。 環境 設定した環境は以下です。 OS: CentOS7Python3.6.8 ( …

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

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

PythonでPKCS#12を使用して暗号/復号する

1. はじめに 仕事でVPN関係のシステム開発をすることになりました。まずは暗号機能の基本を思い出すため、Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムを作ってみようと思いま …

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