Svelte Native 中的 BottomNavigation 组件

问题描述 投票:0回答:1

我目前正在致力于将 BottomNavigation 组件集成到我的 Svelte Native 应用程序中,但遇到了一些困难。看来 BottomNavigation 已从核心项目中弃用,并已被社区插件 (@nativescript-community/ui-material-bottom-navigation) 取代。安装此社区插件后,我遇到了 TypeScript 错误,表明组件扩展不匹配 - TypeScript 需要一个与库中使用的不同的基本组件。

不幸的是,我无法在网上找到任何解决此问题的文档或工作示例。有人能帮助我吗?也许有一个可行的解决方法、一个替代库或一个我可以使用的组件?也许我也只是错过了实施中的一个步骤,任何指导将不胜感激。

提前感谢您的时间和帮助!

typescript nativescript svelte svelte-component svelte-native
1个回答
0
投票

我设法使用这些示例来做到这一点:

但是 Svelte 原生应该有例子:/ Svelte Native 实现要好得多,因为您甚至不需要导入任何内容:https://svelte-native.technology/docs#bottom-navigation。 他们应该保留它! :( 另外,文档是集中的,现在他们弃用了它们的实现,您需要尝试找到大多数情况下不存在的示例:/

<script>
    import { registerNativeViewElement } from "svelte-native/dom";
    import {
        BottomNavigation,
        TabStrip,
        TabStripItem,
        TabContentItem,
      } from "@nativescript-community/ui-material-bottom-navigation";

    registerNativeViewElement("bottomNavigation", () => BottomNavigation);
    registerNativeViewElement("tabStrip", () => TabStrip);
    registerNativeViewElement("tabStripItem", () => TabStripItem);
    registerNativeViewElement("tabContentItem", () => TabContentItem);
</script>

<page>


  <bottomNavigation selectedIndex="1">
    <!-- The bottom tab UI is created via TabStrip (the containier) and TabStripItem (for each tab)-->
    <tabStrip backgroundColor="#C8F7C5">
      <tabStripItem>
        <label text="Home"></label>
        <image src="font://&#xf015;" class="fas"></image>
      </tabStripItem>
      <tabStripItem class="special">
        <label text="Account"></label>
        <image src="font://&#xf007;" class="fas"></image>
      </tabStripItem>
      <tabStripItem class="special">
        <label text="Search"></label>
        <image src="font://&#xf00e;" class="fas"></image>
      </tabStripItem>
    </tabStrip>

    <!-- The number of TabContentItem components should corespond to the number of TabStripItem components -->
    <tabContentItem>
      <gridLayout>
        <label text="Home Page" class="h2 text-center"></label>
      </gridLayout>
    </tabContentItem>
    <tabContentItem>
      <gridLayout>
        <label text="Account Page" class="h2 text-center"></label>
      </gridLayout>
    </tabContentItem>
    <tabContentItem>
      <gridLayout>
        <label text="Search Page" class="h2 text-center"></label>
      </gridLayout>
    </tabContentItem>
  </bottomNavigation>
</page>

© www.soinside.com 2019 - 2024. All rights reserved.