js汉字转化成拼音;el-tabs插槽;el-tabs图标

文章介绍了如何在Vue.js应用中结合element-ui的tabs组件,根据接口数据动态生成tabs,并在点击时改变左侧标签。关键点在于使用js-pinyin库将汉字转换为拼音,以便为tabs添加图标,同时在点击时保持顶部和左侧tabs的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现效果

场景:点击顶部的tabs左侧的tabs也会跟着变化,且是根据接口数据动态生成的, 其中给tabs前加图标用到tabs插槽和js汉字转化成拼音。

例如:
概览---->gailan        iconfont.css中的图标保持一致

 

1.安装依赖

 npm install js-pinyin --save

2.页面引用

<script>
let pinyin = require('js-pinyin');
export default {
    data(){
        return{
           tabList: [
          {
            type: '11',
            name: '概览',
            hasicon: true,
          },
          {
            type: '12',
            name: '源水',
            hasicon: true,
          }
        ]
      }

    },
    created() {
        this.pinyin = pinyin
    }
}
</script>

3.使用

 <el-tabs v-model="activeName" :stretch="isStretch" :tab-position="tabPosition" @tab-click="handleClick">
        <el-tab-pane v-for="item in tabList" :label="item.name" :name="item.type">
            <span slot="label">
                <span v-if="item.hasicon">
                    <i
                        v-bind:class="activeName == item.type ? `is-active img iconfont icon-${pinyin.getFullChars(item.name).toLowerCase()}` : `unactive img iconfont icon-${pinyin.getFullChars(item.name).toLowerCase()}`"></i>
                </span>
                <span>
                    {{ item.name }}
                </span>
            </span>
        </el-tab-pane>
    </el-tabs>

关键代码

pinyin.getFullChars(item.name).toLowerCase()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值