質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1735閲覧

【Vue.js】クリックでダイアログを開く

bbdd

総合スコア43

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuetify.js

Vuetify.jsは、マテリアルデザインを基本とするVue.jsのCSSフレームワークです。多くのマテリアルデザインのコンポーネントを提供しており、あらゆるアプリケーションに対応可能。vue-cli用テンプレートがあり、簡単にページを作成できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/08/25 04:29

前提

Vue.js を使用したアプリケーションです。
Vuetifyを使用しています。

実現したいこと

イメージ説明

このようなUIを作成しています。
「ADD SKILL」ボタンにてダイアログ(下に該当ソース、ダイアログの画像を記載しております)が表示されます。

iOSやVueといったChipをタップした際にもダイアログを表示したい
のですが、やり方が思いつかずアドバイス頂ければと思っております。

Chipをタップしてダイアログを開く場合はダイアログに値を渡す必要があるのですが、それはpropsで対応すればいいのかなと思っています。

ソースコード

ダイアログを使用しているコンポーネント

<v-card class="mt-5"> <v-card-text> <h2 class="text-xs-left mb-4">Skill</h2> <div class="text-xs-left"> <v-chip color="primary" text-color="white">iOS</v-chip> <v-chip color="secondary" text-color="white">Swift</v-chip> <v-chip color="red" text-color="white">Vue</v-chip> <v-chip color="green" text-color="white">Python</v-chip> </div> </v-card-text> <!-- 編集 --> <v-card-actions> <v-spacer></v-spacer> <!-- ダイアログを開くためのコンポーネントです --> <app-edit-skill-dialog/> </v-card-actions> </v-card>

ダイアログのコンポーネント

<template> <v-dialog v-model="editSkillDialog" persistent max-width="500px"> <v-btn slot="activator" color="primary" dark>Add Skill</v-btn> <v-card> <v-card-text> <v-layout wrap> <v-flex xs12> <v-flex md-5> <v-text-field label="Skill" hint="input skill name" ></v-text-field> </v-flex> <h2 class="text-xs-left mt-3 mb-5">Level</h2> <v-slider always-dirty hint="select skill level" persistent-hint thumb-label="always" ></v-slider> </v-flex> </v-layout> </v-card-text> <v-card-actions> <v-spacer></v-spacer> <v-btn color="blue darken-1" flat @click.native="editSkillDialog = false">Cancel</v-btn> <v-btn color="blue darken-1" flat @click.native="editSkillDialog = false">Save</v-btn> </v-card-actions> </v-card> </v-dialog> </template> <script> export default { data () { return { editSkillDialog: false } }, computed: { }, watch: { }, methods: { } } </script>

ダイアログはこのようなものです。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

spookybird

2018/08/25 07:01

具体的に何にどう困っているのかがわかりにくいです。「ADD SKILL」というボタンをクリックした際にダイアログを開くことはできているんですよね?それと同じことをやるだけでは?子コンポーネントに値を渡したいなら`props`で渡すことが公式に推奨されている方法です。
guest

回答1

0

自己解決

投稿2018/08/26 05:22

bbdd

総合スコア43

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問