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

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回答

1336閲覧

vuetifyのv-treeviewで、nodeごとにopen-on-clickのtrue/falseを設定する方法

963

総合スコア1

Vue.js

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

Vuetify.js

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

JavaScript

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

0グッド

0クリップ

投稿2022/06/28 02:23

編集2022/06/28 02:54

vuetifyのv-treeviewで、nodeごとにopen-on-clickのtrue/falseを設定する方法が知りたいです。

デフォルトで開きたいわけではなく、クリックしたときにnodeを開きたいです。
下記コードでいうと、id:19はnode全体をクリックすれば開き、id:20は左端の「▼」をクリックしないと開かないという設定をしたいというのが今回の要件です。

js

1<template> 2 <v-treeview :items="items" open-on-click></v-treeview> 3</template> 4 5<script> 6 export default { 7 data: () => ({ 8 items: [ 9 { 10 id: 19, // open-on-clickをtrueにしたい 11 name: 'Videos :', 12 children: [ 13 { 14 id: 20, // open-on-clickをfalseにしたい 15 name: 'Tutorials :', 16 children: [ 17 { id: 21, name: 'Basic layouts : mp4' }, 18 { id: 22, name: 'Advanced techniques : mp4' }, 19 { id: 23, name: 'All about app : dir' }, 20 ], 21 }, 22 { id: 24, name: 'Intro : mov' }, 23 { id: 25, name: 'Conference introduction : avi' }, 24 ], 25 }, 26 ] 27</script>

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

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

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

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

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

guest

回答1

0

ベストアンサー

https://vuetifyjs.com/ja/components/treeview/#append3068label
ここら辺の例がわかりやすいですが、APIにopen propsが存在してます。
item-keyをnameにした場合、openにデフォルトで開きたいitemのname配列を渡す感じです。

cssを使えば以下のようにそれっぽいことはできるとは思います。
イメージ説明

投稿2022/06/28 02:42

編集2022/06/28 04:08
zushi0905

総合スコア683

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

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

963

2022/06/28 02:47

回答ありがとうございます。 要件としては、open-on-clickのtrue/falseをnode別に設定するといものです。 デフォルトで開きたいわけではなく、node全体をクリックして開きたいitemとnode左端の「▼」をクリックしたときのみ開きたいitemがあるので、そこの設定方法が知りたいという質問内容になります。
zushi0905

2022/06/28 04:13

すみません。質問流し読みしてました。 回答を修正した通り、cssのpointer-eventsを使えばできるかもしれませんが、v-treeview-nodeあたりにtrue/false識別用のクラスを付与しないと出しわけができないので、そこらへんの調査をしないといけないです。 ぱっと見だとないので、できるか微妙な線ですね。要件の方で折れてもらうのが一番幸せそうで、どうしてもなら自作した方が早そうな感じがあります。
963

2022/06/28 06:20

説明ありがとうございます。 v-treeviewの基本的な機能で実装ができないと割り切ることができただけでも良しとします。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問