vue中,div两行十列显示

在vue中,div两行十列显示
需要以循环的方式实现
并且每个div上显示如图所示的编号

img

双层v-for


 <div v-for="(item, index=1) in 2" :key="index" class="v">  
         <div v-for="(item1,index1) in 10">
            {{index+1}}-{{index1+1}}
         </div>
      </div>  


.v{
  display:flex;
}
.v div{
  width:100px;
   height:30px;
}

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7465610
  • 你也可以参考下这篇文章:vue中 div 鼠标悬浮显示另一个div
  • 除此之外, 这篇博客: 记一次在VUE项目中通过托拽div边框实现改变div大小中的 简介 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    这个需求可以通过使用Vue的v-for指令以及一些CSS样式来实现。

    首先,需要在Vue的模板中使用v-for指令来循环生成十个div。假设编号的范围是1到10,可以使用一个数组来表示这个范围,然后使用v-for指令来循环生成每个div。生成div的过程中,可以使用插值表达式来显示当前的编号。

    接下来,可以使用CSS的flex布局来实现两行十列的效果。可以为父容器设置display属性为flex,同时设置flex-wrap属性为wrap,即可让子元素自动换行。然后,可以设置子元素的flex属性为1,即可让每个子元素均匀分布在父容器中。

    下面是一个可能的解决方案的示例代码:

    <template>
      <div class="container">
        <div v-for="number in numbers" :key="number" class="item">{{ number }}</div>
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        };
      }
    };
    </script>
    
    <style>
    .container {
      display: flex;
      flex-wrap: wrap;
    }
    
    .item {
      flex: 1;
      border: 1px solid black;
      text-align: center;
      padding: 10px;
    }
    </style>
    

    这样,就可以实现将十个div以两行十列的形式进行显示,并且每个div显示相应的编号。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

上图,代码在后面

img

代码如下:

//css
.Box{
        width: 680px;
        margin: 0 auto;
        border: 1px solid #ff0000;
        display: grid;
        grid-template-columns: repeat(10, 50px);//固定10列  每个子元素50px宽
        //自动根据父元素长宽计算
        //grid-template-columns: repeat(auto-fill, 50px);//列  每个子元素50px宽   自动根据父元素宽度计算能放几个
        //grid-template-rows: repeat(auto-fill, 50px);//行  每个子元素50px高   自动根据父元素高度计算能放几个
        gap: 20px;//行列间距都是20px
        .box{
            width: 50px;
            height: 50px;
            background: #000000;
            color: #ffffff;
            display: flex;
            justify-content: center;
            align-items: center;
        }
    }
//js
array: [
     '1-1','1-2','1-3','1-4','1-5','1-6','1-7','1-8','1-9','1-10',
     '2-1','2-2','2-3','2-4','2-5','2-6','2-7','2-8','2-9','2-10'
 ]
//html
<div class="Box">
    <div v-for="(item, index) in array" :key="'item' + index" class="box">{{item}}</div>
</div>