根据设计图要求,新建了一个专门的品种选择页面,替换了原有的弹窗式品种选择功能。
新增页面路径:/pages/personalCenter/breedSelect
页面配置:
{
"path": "pages/personalCenter/breedSelect",
"style": {
"navigationBarTitleText": "选择品种",
"navigationBarBackgroundColor": "#FF6B35",
"enablePullDownRefresh": false,
"navigationBarTextStyle": "white"
}
}
在需要选择品种的地方,调用以下代码跳转到品种选择页面:
uni.navigateTo({
url: `/pages/personalCenter/breedSelect?petType=${petType}&selectedBreed=${encodeURIComponent(selectedBreed || '')}`
});
输入参数:
petType
:宠物类型('cat' 或 'dog')selectedBreed
:当前已选择的品种(可选)输出结果:
breedSelect.vue
:品种选择页面主组件petBaseInfo.vue
:移除原有弹窗,改为页面跳转getPetBreeds()
:获取品种数据groupBreedsByLetter()
:按字母分组onSearchChange()
:搜索处理selectBreed()
:选择品种scrollToLetter()
:字母跳转onScroll()
:滚动事件处理updateCurrentLetter()
:更新当前激活字母getDictList
正常工作dictLabel
字段pages.json
中