Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Nuxt 3でElement Plusを使ってみた
Search
Munieru
May 18, 2023
1.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nuxt 3でElement Plusを使ってみた
https://vuejs-meetup.connpass.com/event/279254/
Munieru
May 18, 2023
More Decks by Munieru
See All by Munieru
エアコン本体とリモコンの温度設定にズレが生じる問題〜プログラムによる再現〜 / 2018-08-29
munieru_jp
0
2.4k
エアコン本体とリモコンの温度設定にズレが生じる問題〜プログラムによる再現〜 / 2018-08-09
munieru_jp
2
4.9k
JavaScriptフレームワークVue.jsの紹介 / 2018-05-11
munieru_jp
0
5.4k
勉強のすすめ / 2018-04-13
munieru_jp
0
4.9k
こんなスライドはやめろ!プレゼン資料のアンチパターン / 2018-02-18
munieru_jp
0
15k
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
320
First, design no harm
axbom
PRO
2
1.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
480
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Design in an AI World
tapps
1
250
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Between Models and Reality
mayunak
4
340
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Optimizing for Happiness
mojombo
378
71k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
Transcript
2023-05-18 ムニエル @munieru_jp Nuxt 3で Element Plusを使ってみた © Munieru
2 © Munieru
#あの⽇のツイートを表⽰するやつ 3 https://anohi-no-tweet.munieru.app/ © Munieru
主な使⽤技術 • Nuxt 3:フロントエンドフレームワーク • Element Plus:UIフレームワーク • Vitest:テストフレームワーク •
nuxt-icon:Iconifyのアイコンを使えるようにするやつ • Vite PWA:PWA化するやつ • Pinia:いわゆるストア • ESLint:JavaScript/TypeScriptの静的解析するやつ • Markuplint:HTMLの静的解析するやつ • date-fns:⽇付操作を楽にするやつ 4 © Munieru
Element Plus 5 https://element-plus.org/ © Munieru
Element Plusのいいところ 6 • レスポンシブ対応 • ダークモード対応 • コンポーネントが豊富 •
i18nサポート(⽇本語対応) © Munieru
Element Plusのイマイチなところ 7 © Munieru
ダイアログの横幅が⼤きすぎる 8 © Munieru
ダイアログの横幅が⼤きすぎる 9 © Munieru .app-dialog { &:not(.is-fullscreen) { width: 600px;
max-width: calc(100vw - 8px * 2); } }
ダイアログの横幅が⼤きすぎる 10 © Munieru
アイコンのリンク⽤のコンポーネントがない 11 © Munieru
アイコンのリンク⽤のコンポーネントがない 12 © Munieru <script lang="ts" setup> const props =
defineProps<{ external?: boolean href: string icon: string title?: string }>() const target = props.external ? '_blank' : undefined const rel = props.external ? 'noreferrer noopener' : undefined const iconSize = '24px' </script> <template> <a class="app-icon-link" :title="title" :href="href" :target="target" :rel="rel" > <Icon :name="icon" :size="iconSize" /> </a> </template> <style lang="scss" scoped> $size: 48px; $icon-size: v-bind(iconSize); .app-icon-link { border-radius: 50%; color: unset; display: inline-block; padding: calc(($size - $icon-size) / 2); text-decoration: none; } </style>
アイコンのリンク⽤のコンポーネントがない <AppIconLink icon="mdi:twitter" href="https://twitter.com/munieru_jp" title="Twitter" external /> 13 © Munieru
Element Plusを使った所感 • マテリアルデザインではないUIフレームワークの選択肢としてはアリ • 細かい部分はCSSで調整する必要がある • 不⾜しているコンポーネントを⾃作する必要がある 14 ©
Munieru