Vuetify - 如何在默认情况下保持第一个扩展面板打开,如果我打开另一个面板,其他面板应该关闭?

sha*_*rma 8 vue.js vuetify.js

基本上,问题是我有 4 个扩展面板,我希望第一个面板默认打开或展开,当我点击第二个面板时,第一个面板应该关闭。

在 vuetify doc 中,它们都有。一个是如何默认打开面板,第二个是,什么时候应该打开其他人应该关闭。

<template>
  <div>
 <div class="text-xs-center mb-3">{{ panel }}</div>    
 <v-expansion-panel
  expand
  v-model="panel">
  <v-expansion-panel-content
    v-for="(details,index) in marketCapDetails"
    :key="index">
    <template v-slot:header>
       <p>{{details.sr_no }}</p>
       <p>{{details.currency }}</p>
    </template>
    <v-card>
      #some code
    </v-card>      
  </v-expansion-panel-content>
</v-expansion-panel>
Run Code Online (Sandbox Code Playgroud)


在我的脚本中

export default {   
  data() {
    return {
            panel:[true, false, false, false]
         }   
      }
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*aij 16

使用v-model="panel"等于扩展项索引的数组

<v-expansion-panels v-model="panel"
 <v-expansion-panel
  expand
  v-model="panel">
  <v-expansion-panel-content
    v-for="(details,index) in marketCapDetails"
    :key="index">
    <template v-slot:header>
       <p>{{details.sr_no }}</p>
       <p>{{details.currency }}</p>
    </template>
    <v-card>
      #some code
    </v-card>      
  </v-expansion-panel-content>
 </v-expansion-panel>
</v-expansion-panels>
Run Code Online (Sandbox Code Playgroud)
data() {
 return {
   panel: [0]
 }
}
Run Code Online (Sandbox Code Playgroud)

value道具需要,当你不使用数量expand

文档

对应于当前打开的内容的从零开始的索引。

  • 有一个重大变化,“expand”已被弃用,取而代之的是“multiple”。当您想打开前两个面板(在多个模式下)时,您有:`panel: [0, 1]`,如果您想在“单打开”模式下打开第一个面板(未设置多个) ,然后设置为:`panel: 1` (3认同)

Esc*_*ape 13

与此同时,发生了重大变化:

如果您有 4 个面板,并且第一个和第三个面板应该是打开的:

panel: [0, 2]
Run Code Online (Sandbox Code Playgroud)

如果没有 multiple 属性,它只是面板的索引而不是数组:

panel: 0
Run Code Online (Sandbox Code Playgroud)

(第一个面板打开)

  • 为什么文档中没有此信息!我花了很多时间来弄清楚为什么文档示例不适用于单个面板(使用仅一个值的数组),这真是太疯狂了。非常感谢,伙计! (3认同)