web-dev-qa-db-ja.com

10行のみではなく、データテーブル内のすべての項目を表示する方法は?

私は データテーブル vuetifyから使用しています。

<v-data-table
  :ref="`sortableTable${index}`"
  class="items-table-container"
  :headers="headers"
  :items="category.items"
  hide-default-footer>

    ...custom rows

</v-data-table>
 _

テーブルに新しいアイテムを追加するときは、それが表示されていませんでした。私が渡っているアイテムが11のアイテムを持っていることを確認しましたが、テーブルは10 maxを表示しています。

テーブルの周囲のラッパーを見たとき、私はそれが持っていたことに気づいた:

overflow-x: auto;
overflow-y: hidden;
 _

しかし、何らかの理由でそれを上書きすることはできません。私はheight propを追加しようとしましたが、何も機能しないようです。

テーブルの中にある行が何行にあるかに関係なく、テーブルに自動的な高さを与えるにはどうすれば拡大できますか?

6
J. Jackson

この問題は、_hide-default-footer_を使用してデフォルトのフッターを削除したが、ページネーションはまだ有効になっているためです。ページ区切りはデフォルトで設定されていますが、1行あたり10項目のみを表示するように設定されています。 _disable-pagination_オプションを追加するだけで簡単に修正できます。これは、ページ区切りを完全に無効にしてから、10番目のインデックスの後にすべての項目を見ることができます。

_<v-data-table
  :ref="`sortableTable${index}`"
  class="items-table-container"
  :headers="headers"
  :items="category.items"
  hide-default-footer
  disable-pagination>
_

デモ:

_new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data() {
    return {
      headers: [{text:"Dessert (100g serving)",align:"start",sortable:!1,value:"name"},{text:"Calories",value:"calories"},{text:"Fat (g)",value:"fat"},{text:"Carbs (g)",value:"carbs"},{text:"Protein (g)",value:"protein"},{text:"Iron (%)",value:"iron"}],
      desserts: headers=[{name:"Frozen Yogurt",calories:159,fat:6,carbs:24,protein:4,iron:"1%"},{name:"Ice cream sandwich",calories:237,fat:9,carbs:37,protein:4.3,iron:"1%"},{name:"Eclair",calories:262,fat:16,carbs:23,protein:6,iron:"7%"},{name:"Cupcake",calories:305,fat:3.7,carbs:67,protein:4.3,iron:"8%"},{name:"Gingerbread",calories:356,fat:16,carbs:49,protein:3.9,iron:"16%"},{name:"Jelly bean",calories:375,fat:0,carbs:94,protein:0,iron:"0%"},{name:"Lollipop",calories:392,fat:.2,carbs:98,protein:0,iron:"2%"},{name:"Honeycomb",calories:408,fat:3.2,carbs:87,protein:6.5,iron:"45%"},{name:"Donut",calories:452,fat:25,carbs:51,protein:4.9,iron:"22%"},{name:"KitKat",calories:518,fat:26,carbs:65,protein:7,iron:"6%"},{name:"Jelly bean",calories:375,fat:0,carbs:94,protein:0,iron:"0%"},{name:"Lollipop",calories:392,fat:.2,carbs:98,protein:0,iron:"2%"},
{name:"Ice cream sandwich",calories:237,fat:9,carbs:37,protein:4.3,iron:"1%"},{name:"Eclair",calories:262,fat:16,carbs:23,protein:6,iron:"7%"},{name:"Cupcake",calories:305,fat:3.7,carbs:67,protein:4.3,iron:"8%"},
{name:"Ice cream sandwich",calories:237,fat:9,carbs:37,protein:4.3,iron:"1%"},{name:"Eclair",calories:262,fat:16,carbs:23,protein:6,iron:"7%"},{name:"Cupcake",calories:305,fat:3.7,carbs:67,protein:4.3,iron:"8%"}],
    }
  },
})_
_<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/[email protected]/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.js"></script>

<div id="app">
  <v-app id="inspire">
    <v-container>
      <v-layout column>
        <v-data-table :headers="headers" 
          :items="desserts" 
          class="elevation-1" 
          hide-default-footer 
          disable-pagination
          dense>
        </v-data-table>
      </v-layout>
    </v-container>
  </v-app>
</div>_
4
palaѕн