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

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

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

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

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vuetify.js

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

解決済

1回答

5555閲覧

v-forループを使用して、data-table内に連想配列のプロパティの情報を出力したい。

takochan1192

総合スコア100

Vue.js

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

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vuetify.js

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

0クリップ

投稿2020/07/24 09:10

Nuxt.jsを使用しておりまして、VuetifyのCSSフレームワークを使用しております。
将来的にAPIを取得して、v-for ループ使用して、情報を表示したいと考え
今回作成しているときに詰まってしまいました。

vuetifyのコンポーネントである、v-data-tableに:itemsのpropを指定せずに、
tbodyを使用して、連想配列内のプロパティを表示させたいと思っております。
しかし、現在データが表示されていない状態です。

特にエラーメッセージが出ておらず、どうすればデータが表示されるのか
悩んでおります。
お力添えいただけませんでしょうか?

Nuxt.js

1<template> 2 <v-data-table :headers="header" dense class="elevation-1"> 3 <tbody v-for="customer in customers" :key="customer"> 4 <tr> 5 <td>{{customer.name}}</td> 6 <td>{{customer.id}}</td> 7 <td>{{customer.age}}</td> 8 </tr> 9 </tbody> 10 </v-data-table> 11</template> 12<script lang="ts"> 13import {Component,Vue} from 'nuxt-property-decorator' 14 15@Component 16export default class extends Vue{ 17 header=[ 18 {text:'name',value:'name'}, 19 {text:'id',value:'id'}, 20 {text:'age',value:'age'} 21 ] 22 customers=[ 23 {name:'jon',id:1,age:21}, 24 {name:'dan',id:2,age:23}, 25 {name:'bob',id:3,age:25}, 26 {name:'ali',id:4,age:41} 27 28 ] 29} 30</script>

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

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

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

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

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

guest

回答1

0

ベストアンサー

v-data-tableコンポーネントでtbody以下をカスタマイズしたい場合はbodyスロットを使用します。
tbodyとtrタグのclass名はカスタマイズされていることを確認するために便宜上付けたものです。

vue

1<v-data-table :headers="header" :items="customers" dense class="elevation-1"> 2 <template v-slot:body="{ items: customers }"> 3 <tbody class="custom-body"> 4 <tr v-for="customer in customers" :key="customer.id" class="custom-tr"> 5 <td>{{ customer.name }}</td> 6 <td>{{ customer.id }}</td> 7 <td>{{ customer.age }}</td> 8 </tr> 9 </tbody> 10 </template> 11</v-data-table>

bodyスロットの詳細なドキュメントはデータテーブルにありますのでご確認ください。

投稿2020/07/24 10:02

rubytomato

総合スコア1752

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

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

takochan1192

2020/07/26 10:45

ありがとうございます。 公式サイトにあったのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問