Taro + vue3 + ts 框架中书写tabs 二次封装组件使用

<template>
    <div class="filter-container">
        <nut-tabs v-model="selected" title-scroll title-gutter="10">
            <nut-tab-pane v-for="item in tabList" :title="item.name"></nut-tab-pane>
        </nut-tabs>

    </div>
</template>
<script setup>
import { ref, watch, toRefs } from 'vue'
const props = defineProps({
    tabList: Array
})
const emit = defineEmits(["onChange"])
const { tabList } = toRefs(props);
const selected = ref(0)
watch(selected, (index) => {
    emit("onChange", tabList.value[index])

})
</script>
<style lang="less">
.filter-container {
    .nut-tabs__content {
        display: none !important;
    }

    .nut-tabs__titles {
        // background: #ffffff !important;

        .nut-tabs__titles-item {
            .nut-tabs__titles-item__smile {
                display: none;
            }

            .nut-tabs__titles-item__text {
                color: #858a99;
                font-size: 22px;
            }
        }

        .nut-tabs__titles-item.active {
            .nut-tabs__titles-item__smile {
                display: block;
                margin-top: 10px !important;
            }

            .nut-tabs__titles-item__text {
                color: #15181d;
            }
        }
    }

}
</style>

特别简单的使用方法  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在 Taro + Vue 3 + TypeScript 的小程序项目使用 Pinia,你可以按照以下步骤进行配置: 1. 首先,确保你已安装了 TaroVue 3 模板。你可以使用以下命令创建一个新的 Taro + Vue 3 + TypeScript 项目: ```bash npx @tarojs/cli@next init myApp --template vue3-ts ``` 2. 在项目目录下安装 Pinia: ```bash npm install pinia@2.0.23 ``` 3. 在 `src/main.ts` 文件,导入 `createPinia` 并创建一个 Pinia 实例,并将其传递给 Vue 的 `createApp` 方法: ```typescript import { createApp } from 'vue' import { createPinia } from 'pinia' const app = createApp(...) const pinia = createPinia() app.use(pinia) ... ``` 4. 接下来,你可以根据需要创建和使用 Pinia 的 store。在 `src/store` 目录下创建一个新的文件来定义你的 store,例如 `counter.ts`: ```typescript import { defineStore } from 'pinia' export const useCounterStore = defineStore('counter', { state: () => ({ count: 0, }), actions: { increment() { this.count++ }, decrement() { this.count-- }, }, }) ``` 5. 在组件使用 store。在你的组件,你可以使用 `useStore` 函数来获取 store 的实例: ```typescript import { useCounterStore } from '../store/counter' export default { setup() { const counterStore = useCounterStore() return { counterStore, } }, } ``` 6. 最后,你可以在你的组件使用 store: ```vue <template> <div> <p>Count: {{ counterStore.count }}</p> <button @click="counterStore.increment()">Increment</button> <button @click="counterStore.decrement()">Decrement</button> </div> </template> <script setup> import { useCounterStore } from '../store/counter' const counterStore = useCounterStore() </script> ``` 这样,你就可以在 Taro + Vue 3 + TypeScript 的小程序项目使用 Pinia 了。如果你遇到任何问题,请提供更多的上下文和相关代码,我将尽力帮助你解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值