0

目的:

  • 1.Rest API >>> by axios
  • 2.选择类别>>>通过v-select
  • 3.Show table >>> by v-data-table但我无法显示表格所以我使用 v-for 显示但我得到了这个

在这里我得到 它显示许多表(根据数据集的数量)

这是我的代码 HTML 部分

  <template>
  <v-container>
    <h1>JSON Data</h1>
    <span>Data Test Table For Current Sensor Table</span>
    <!-- Choose -->
    <div id="top">
      <!-- left-right -->
      <v-row align-center>
        <!-- title -->
        <v-col cols="5">
          <v-subheader>Choose Generation: {{ selected }}</v-subheader>
        </v-col>
        <!-- dropdown -->
        <v-col cols="7">
          <v-select :items="items" v-model="selected" dense></v-select>
        </v-col>
      </v-row>
    </div>
    <!-- Button -->
    <v-btn block v-on:click="getData()">Load Data</v-btn>
    <div v-for="(item, i) in data" :key="i" >
    <v-data-table :items="data" :headers="headers" :items-per-page="5">
      <template slot="data" slot-scope="props">
        <td>{{ props.data.userId }}</td>
        <td>{{ props.data.id }}</td>
        <td>{{ props.data.title }}</td>
      </template>
    </v-data-table>
    </div>

    <!-- Test -->
    <span class="data_id">***{{ data }} </span><br />
  </v-container>
</template>

脚本部分

<script>
import axios from "axios";
export default {
  name: "Current",
  data: () => ({
    items: ["albums", "todos", "posts"],
    selected: "",

    headers: [
      { text: "USER_ID", align: "start", sortable: false, value: "userId" },
      { text: "ID", value: "id" },
      { text: "TITLE", value: "title" },
    ],
    data: [],
  }),

  methods: {
    getData() {
      axios
        .get("https://jsonplaceholder.typicode.com/users/1/" + this.selected)
        .then((response) => {
          this.data = response.data;
        })
        .catch((err) => alert(err));
    },
  },

  mounted() {
    this.getData();
  },
};
</script>

Vue&Vuetify 对我来说是新的。如果您有任何建议,请告诉我。

我尝试删除 div <div v-for="(item, i) in data" :key="i" ></div>但是当我刷新此页面时它消失了并且只显示空表 只显示空表

4

1 回答 1

0

请删除 v-for。因为 v-data-table 显示您传递的数据的表格,所以它将显示与数据中的项目数相同的表格。

https://prnt.sc/1nsxc7w

于 2021-08-13T05:03:20.433 回答