Heim  >  Artikel  >  Web-Frontend  >  So implementieren Sie die obere Registerkarte in UniApp, um verschiedene Daten zu wechseln

So implementieren Sie die obere Registerkarte in UniApp, um verschiedene Daten zu wechseln

PHPz
PHPzOriginal
2023-04-20 13:49:272991Durchsuche

Angesichts der Beliebtheit mobiler Anwendungen erfordern die meisten Anwendungen eine Tab-Funktion, damit Benutzer problemlos zwischen verschiedenen Tabs wechseln und unterschiedliche Daten anzeigen können. Im UniApp-Framework ist auch der Wechsel zwischen verschiedenen Daten auf der oberen Registerkarte sehr einfach. In diesem Artikel wird detailliert beschrieben, wie die Funktion zum Wechseln verschiedener Daten auf der oberen Registerkarte in UniApp implementiert wird.

1. Grundidee

Die Idee, verschiedene Daten auf der oberen Registerkarte in UniApp zu wechseln, ist sehr einfach, das heißt, verschiedene Daten durch Klicken auf die Registerkarte zu wechseln. Bei der Implementierung müssen wir zwei Komponenten verwenden:

  • uni-tabs: die Tab-Komponente, die mit UniApp geliefert wird;
  • #🎜 🎜#uni-list-view: Listenkomponente zur Anzeige von Daten.
uni-tabs:UniApp中自带的选项卡组件;
  • uni-list-view:用于显示数据的列表组件。
  • 其中,uni-tabs用于显示选项卡,当用户点击不同的选项卡时,uni-list-view会根据选项卡的不同,展示对应的数据。接下来,我们将逐步讲解如何使用这两个组件实现顶部选项卡切换不同数据的功能。

    2. 创建 uni-tabs 组件

    首先,我们创建一个 uni-tabs 组件,用于显示选项卡。具体代码如下:

    <template>
      <div>
        <uni-tabs @click="changeTab">
          <uni-tab :title="tabsData[0]"></uni-tab>
          <uni-tab :title="tabsData[1]"></uni-tab>
          <uni-tab :title="tabsData[2]"></uni-tab>
        </uni-tabs>
      </div>
    </template>
    
    <script>
      export default {
        data() {
          return {
            tabsData: ['选项卡一', '选项卡二', '选项卡三']
          }
        },
        methods: {
          changeTab(e) {
            // 切换选项卡
          }
        }
      }
    </script>

    这段代码中,我们创建了一个 uni-tabs 组件,并在其中添加三个 uni-tab 组件。uni-tabs 组件是选项卡的容器,可以自适应屏幕大小,同时,该组件还提供了一些属性和事件。其中,我们需要用到的是点击事件 @click,通过该事件,可以获取用户点击的选项卡的信息。接下来,我们需要在 changeTab 方法中进行处理,实现选项卡的切换。

    3. 设置 uni-list-view 组件

    接下来,我们需要设置一个 uni-list-view 组件用于显示数据。具体代码如下:

    <template>
      <div>
        <uni-tabs @click="changeTab">
          <uni-tab :title="tabsData[0]"></uni-tab>
          <uni-tab :title="tabsData[1]"></uni-tab>
          <uni-tab :title="tabsData[2]"></uni-tab>
        </uni-tabs>
        <uni-list-view :ref="listViewRef" :list-data="currentData" :show-loading="true"></uni-list-view>
      </div>
    </template>
    
    <script>
      export default {
        data() {
          return {
            tabsData: ['选项卡一', '选项卡二', '选项卡三'],
            data: {
              tab1: [{...}, {...}, {...}],
              tab2: [{...}, {...}, {...}],
              tab3: [{...}, {...}, {...}]
            },
            currentData: [],
            listViewRef: 'listView'
          }
        },
        onReady() {
          this.changeTab({
            detail: {
              index: 0
            }
          })
        },
        methods: {
          changeTab(e) {
            // 切换选项卡
            let index = e.detail.index
            switch (index) {
              case 0:
                this.currentData = this.data.tab1
                break
              case 1:
                this.currentData = this.data.tab2
                break
              case 2:
                this.currentData = this.data.tab3
                break
              default:
                break
            }
            // 刷新列表数据
            if (this.$refs[this.listViewRef]) {
              this.$refs[this.listViewRef].refresh()
            }
          }
        }
      }
    </script>

    这里,我们创建了一个 uni-list-view 组件,并且设置了列表数据。具体来说,我们将数据分别存储在了 data.tab1data.tab2data.tab3 中,当用户点击不同的选项卡时,我们就可以根据选项卡的下标选择对应的列表数据。需要注意的是,在 changeTab 方法中,我们使用了 this.$refs[this.listViewRef].refresh() 方法,强制刷新列表数据。

    4. 数据渲染

    最后,我们需要将数据渲染到 uni-list-view 组件中。具体代码如下:

    <template>
      <div>
        <uni-tabs @click="changeTab">
          <uni-tab :title="tabsData[0]"></uni-tab>
          <uni-tab :title="tabsData[1]"></uni-tab>
          <uni-tab :title="tabsData[2]"></uni-tab>
        </uni-tabs>
        <uni-list-view :ref="listViewRef" :list-data="currentData" :show-loading="true">
          <template v-slot:item="{ item }">
            <view class="list-item">{{ item }}</view>
          </template>
        </uni-list-view>
      </div>
    </template>
    
    <script>
      export default {
        data() {
          return {
            tabsData: ['选项卡一', '选项卡二', '选项卡三'],
            data: {
              tab1: ['数据1', '数据2', '数据3'],
              tab2: ['数据4', '数据5', '数据6'],
              tab3: ['数据7', '数据8', '数据9'],
            },
            currentData: [],
            listViewRef: 'listView'
          }
        },
        onReady() {
          this.changeTab({
            detail: {
              index: 0
            }
          })
        },
        methods: {
          changeTab(e) {
            // 切换选项卡
            let index = e.detail.index
            switch (index) {
              case 0:
                this.currentData = this.data.tab1
                break
              case 1:
                this.currentData = this.data.tab2
                break
              case 2:
                this.currentData = this.data.tab3
                break
              default:
                break
            }
            // 刷新列表数据
            if (this.$refs[this.listViewRef]) {
              this.$refs[this.listViewRef].refresh()
            }
          }
        }
      }
    </script>

    在这里,我们用了到了 v-slot:item 模板渲染方法,实现数据的渲染。具体来说,我们将列表项的数据使用 v-for 循环渲染到一个 view 组件中。

    这样,我们就成功实现了在UniApp中使用 uni-tabsuni-list-viewUnter anderem wird uni-tabs verwendet, um Registerkarten anzuzeigen. Wenn der Benutzer auf eine andere Registerkarte klickt, wird uni-list-view verwendet. Code >Die entsprechenden Daten werden entsprechend den verschiedenen Registerkarten angezeigt. Als nächstes erklären wir Ihnen Schritt für Schritt, wie Sie diese beiden Komponenten verwenden, um die Funktion zum Umschalten verschiedener Daten auf der oberen Registerkarte zu implementieren.

    #🎜🎜#2. Erstellen Sie die Uni-Tabs-Komponente #🎜🎜##🎜🎜#Zuerst erstellen wir eine uni-tabs-Komponente, um Tabs anzuzeigen. Der spezifische Code lautet wie folgt: #🎜🎜#rrreee#🎜🎜#In diesem Code erstellen wir eine uni-tabs-Komponente und fügen ihr drei uni-tab-Komponenten hinzu . Die uni-tabs-Komponente ist ein Container für Tabs, der sich an die Bildschirmgröße anpassen kann. Gleichzeitig stellt die Komponente auch einige Eigenschaften und Ereignisse bereit. Unter anderem müssen wir das Klickereignis @click verwenden. Durch dieses Ereignis können wir Informationen über die vom Benutzer angeklickte Registerkarte erhalten. Als nächstes müssen wir es in der Methode changeTab verarbeiten, um die Registerkarten zu wechseln. #🎜🎜##🎜🎜#3. Richten Sie die Uni-List-View-Komponente ein. #🎜🎜##🎜🎜#Als nächstes müssen wir eine uni-list-view-Komponente zur Anzeige einrichten Daten. Der spezifische Code lautet wie folgt: #🎜🎜#rrreee#🎜🎜#Hier haben wir eine uni-list-view-Komponente erstellt und die Listendaten festgelegt. Konkret speichern wir die Daten in data.tab1, data.tab2 und data.tab3. Wenn der Benutzer auf verschiedene klickt Auf der Registerkarte können wir die entsprechenden Listendaten basierend auf dem Index der Registerkarte auswählen. Es ist zu beachten, dass wir in der Methode changeTab die Methode this.$refs[this.listViewRef].refresh() verwenden, um die Aktualisierung der Listendaten zu erzwingen. #🎜🎜##🎜🎜#4. Datenrendering#🎜🎜##🎜🎜#Zuletzt müssen wir die Daten in die uni-list-view-Komponente rendern. Der spezifische Code lautet wie folgt: #🎜🎜#rrreee#🎜🎜#Hier verwenden wir die Vorlagenrenderingmethode v-slot:item zum Rendern von Daten. Konkret rendern wir die Listenelementdaten mithilfe einer v-for-Schleife in eine view-Komponente. #🎜🎜##🎜🎜#Auf diese Weise haben wir die Verwendung von uni-tabs- und uni-list-view-Komponenten in UniApp erfolgreich implementiert, um verschiedene Daten einzuschalten die Top-Tab-Funktion. #🎜🎜#

    Das obige ist der detaillierte Inhalt vonSo implementieren Sie die obere Registerkarte in UniApp, um verschiedene Daten zu wechseln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn