uniapp切换icon
时间: 2024-01-17 17:16:00 浏览: 125
在uniapp中切换icon可以通过动态设置manifest.json文件中的icons字段来实现。具体步骤如下:
1. 在项目根目录下找到manifest.json文件,如果没有则需要手动创建。
2. 在icons字段中添加需要切换的icon路径和名称,例如:
```
"icons": [
{
"src": "static/icon1.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "static/icon2.png",
"sizes": "512x512",
"type": "image/png"
}
]
```
3. 在需要切换icon的地方,通过uni.setTabBarBadge或uni.setNavigationBarTitle方法动态修改manifest.json文件中的icons字段,例如:
```
uni.setTabBarBadge({
index: 0,
text: '1',
success: function () {
uni.setNavigationBarTitle({
title: 'icon1'
});
uni.setStorageSync('icon', 'icon1');
uni.reLaunch({
url: '/pages/index/index'
});
}
});
```
4. 在App.vue文件中监听uni.onShow事件,在事件回调函数中获取uni.getStorageSync('icon')的值,并将其赋值给manifest.json文件中的icons字段,例如:
```
onShow() {
let icon = uni.getStorageSync('icon');
if (icon) {
let manifest = require('@/manifest.json');
manifest.icons.forEach(item => {
if (item.src.indexOf(icon) !== -1) {
uni.setNavigationBarTitle({
title: icon
});
item.active = true;
} else {
item.active = false;
}
});
uni.setStorageSync('icon', '');
uni.setTabBarBadge({
index: 0,
text: '1'
});
}
}
```
阅读全文