c语言编程笔录

首页 >   > 笔记大全

笔记大全

uniapp点击隐藏显示数据列表

更新时间:2023-09-17

需求背景

在app开发中,数据的显示和隐藏是经常用到的功能。在uniapp中,可以使用v-show和v-if来实现数据的显示和隐藏。其中,v-show在数据不显示的情况下,仍然占用页面空间,而v-if在数据不显示的情况下,不会占用页面空间。

<!-- 使用v-show实现数据列表的显示和隐藏 -->
<template>
  <div>
    <button @click="showList = !showList">{{showList ? '隐藏列表' : '显示列表'}}</button>
    <ul v-show="showList">
      <li v-for="(item, index) in list" :key="index">{{item}}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      showList: false,
      list: ['数据1', '数据2', '数据3', '数据4']
    }
  }
}
</script>

需求分析

点击按钮,显示或隐藏数据列表。可以采用两种方式实现:使用v-show或使用v-if。

<!-- 使用v-if实现数据列表的显示和隐藏 -->
<template>
  <div>
    <button @click="showList = !showList">{{showList ? '隐藏列表' : '显示列表'}}</button>
    <ul v-if="showList">
      <li v-for="(item, index) in list" :key="index">{{item}}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      showList: false,
      list: ['数据1', '数据2', '数据3', '数据4']
    }
  }
}
</script>

需求实现

通过点击按钮,控制showList的值,从而实现数据列表的显示和隐藏。

<template>
  <div>
    <button @click="toggleList">{{showList ? '隐藏列表' : '显示列表'}}</button>
    <ul v-show="showList">
      <li v-for="(item, index) in list" :key="index">{{item}}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      showList: false,
      list: ['数据1', '数据2', '数据3', '数据4']
    }
  },
  methods: {
    toggleList() {
      this.showList = !this.showList
    }
  }
}
</script>

需求规范

为了提高代码的可读性和可维护性,需要规范代码的命名和注释。对于数据列表的显示和隐藏功能,可以参照以下规范:

<template>
  <div>
    <button @click="toggleList">{{showList ? '隐藏列表' : '显示列表'}}</button>
    <ul v-show="showList">
      <li v-for="(item, index) in list" :key="index">{{item}}</li>
    </ul>
  </div>
</template>

<script>
/**
 * 数据列表显示和隐藏组件
 */
export default {
  data() {
    return {
      // 是否显示数据列表
      showList: false,
      // 数据列表
      list: ['数据1', '数据2', '数据3', '数据4']
    }
  },
  methods: {
    /**
     * 切换数据列表的显示和隐藏状态
     */
    toggleList() {
      this.showList = !this.showList
    }
  }
}
</script>