是否可以在列表中创建网格布局?

Is it possible to create a grid layout in a list?

免责声明:我只是在学习 vue.js 和 vuetify,我对 javascript 不是很熟悉。我正在编写我的第一个 vue.js 应用程序。

我正在使用 vue 2.x 和 vuetify 2.x。

我需要创建一个可滚动的项目列表,用户可以在该列表上执行操作。现在,我只关心列表项的布局。

该项目由两个可见信息组成,一个数字和一个应显示在两列中的文本(如库存)。数字应在其列中右对齐,文本应左对齐。

这是我目前所拥有的。

<template>
  <v-list dense>
    <template v-for="(item, index) in items">
      <v-list-item :key="item.r">
        <v-list-item-content class="font-weight-bold">
          <v-list-item-title> 
            {{ item.n }} {{ item.t }}
          </v-list-item-title>
        </v-list-item-content>
      </v-list-item>
      <v-divider :key="index"></v-divider>
    </template>
  </v-list>
</template>

<script>
export default {
  name: "itemList",
  data() {
    return {
      items: this.$store.state.currentItems,
    };
  },
};
</script>

是否可以在列表项中使用布局?如果没有,我如何创建所需的列对齐方式?

如果可能影响执行,措施是

滑动按钮的替代方法(如果不可能)是使用弹出菜单制作数字和文本平面按钮。我想这可能会影响如何定义布局。

通常使用 v-rowv-col 你可以实现布局,这在 v-list-item-content 内部是正确的,例如检查下面的代码(我不是确定我是否正确理解了您要求的布局,但它必须给您提示)

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data: {
    items: [{
        t: 'title one',
        n: 1
      },
      {
        t: 'title two',
        n: 2
      },
      {
        t: 'title three',
        n: 3
      },
      {
        t: 'title four',
        n: 4
      },
    ],
  }
})
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet" />

<div id="app">
  <v-app>
    <v-main>
      <v-container>
        <v-list dense>
          <template v-for="(item, index) in items">
            <v-list-item :key="item.n">
              <v-list-item-content class="font-weight-bold">
                <v-row>
                  <v-col cols="6">
                    <v-row no-gutters justify="end">{{ item.n }}</v-row>
                  </v-col>
                  
                  <v-col cols="6">
                    <v-row no-gutters>{{ item.t }}</v-row>
                  </v-col>
                </v-row>
              </v-list-item-content>
            </v-list-item>
            <v-divider :key="`divider-${item.n}`"></v-divider>
          </template>
        </v-list>
      </v-container>
    </v-main>
  </v-app>
</div>