【问题标题】:listout all the files of a folder to the right side of a container using vuejs使用 vuejs 列出容器右侧文件夹的所有文件
【发布时间】:2020-08-01 22:45:26
【问题描述】:

在我的应用程序中,我有一个文件夹列表,每个文件夹都包含一些文件。我必须在选择特定文件夹时显示这些文件。这些文件夹将在左侧。选择该文件夹时,文件将在右侧列出。

我的json是这样的:

folders : [
        {id: 0, name: 'Animals', files:['cat.jpg','dog.jpg']},
        {id: 1, name: 'Birds',files:['crow.jpg','sparrow.jpg']},
        {id: 2, name: 'Area',files:['desert.jpg','river.jpg']}
    ]

所以如果我选择“动物”文件夹,那么右侧会列出两个文件。

像这些:

我是 vuejs 的新手。我怎样才能做到这一点?

【问题讨论】:

    标签: javascript vue.js vuejs2 tree


    【解决方案1】:

    您可以在左侧列出文件夹,在右侧列出变量files,每次单击的文件夹都会更新:

    new Vue({
         el: '#app',
         data(){
              return{
                   folders : [
                        {id: 0, name: 'Animals', files:['cat.jpg','dog.jpg']},
                        {id: 1, name: 'Birds',files:['crow.jpg','sparrow.jpg']},
                        {id: 2, name: 'Area',files:['desert.jpg','river.jpg']}
                   ],
                   files: []
              }
         },
         methods:{
              showFiles(id){
                   let f = (this.folders).filter(f=>{return f.id==id})[0];
                   this.files = f.files;
              }
         }
    });
    .folders {
        float: left;
        width: 50%;
    }
    .files {
        margin-left: 50%;
    }
    <script src="https://unpkg.com/vue/dist/vue.min.js"></script>
    
    <div id="app">
         <div class="folders">
              <ul>
                   <li v-for="(folder,index) in folders" :key="index">
                        <a @click="showFiles(folder.id)">{{folder.name}}</a>
                   </li>
              </ul>
         </div>
         <div class="files">
              <ul>
                   <li v-for="(file,index) in files" :key="index">
                        {{file}}
                   </li>
              </ul>
         </div>
    </div>

    【讨论】:

    • 嗨 Majed... 我需要这方面的帮助。上面同样的事情我与树视图有关。某些文件夹在其子节点上有文件。我必须像您之前建议的那样显示这些文件才能正常查看。我已经为此打开了另一个问题..
    猜你喜欢
    • 2014-02-10
    • 2019-11-02
    • 2020-07-02
    • 2023-03-21
    • 1970-01-01
    • 2011-10-30
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多