Mint-UI Picker 三级联动
Mint-UI Picker组件的三级联动
HTML:
<mt-picker :slots="slots" value-key="name" @change="onValuesChange"></mt-picker>
JS:
const address = [ { "code": "001", "name": "省份1", "childs": [ { "code": "001-1", "name": "城市1", "childs": [ { "code": "001-1-1", "name": "城市1县城1" }, { "code": "001-1-2", "name": "城市1县城2" } ] }, { "code": "001-2", "name": "城市2", "childs": [ { "code": "001-2-1", "name": "城市2县城1" }, { "code": "001-2-2", "name": "城市2县城2" } ] } ] }, { "code": "002", "name": "省份2", "childs": [ { "code": "002-1", "name": "城市3", "childs": [ { "code": "002-1-1", "name": "城市3县城1" }, { "code": "002-1-2", "name": "城市3县城2" } ] }, { "code": "002-2", "name": "城市4", "childs": [ { "code": "002-2-1", "name": "城市4县城1" }, { "code": "002-2-2", "name": "城市4县城2" } ] } ] }, { "code": "003", "name": "省份3", "childs": [ { "code": "003-1", "name": "城市5", "childs": [ { "code": "003-1-1", "name": "城市5县城1" }, { "code": "003-1-2", "name": "城市5县城2" } ] }, { "code": "003-2", "name": "城市6", "childs": [ { "code": "003-2-1", "name": "城市6县城1" }, { "code": "003-2-2", "name": "城市6县城2" } ] } ] }, ];
export default { name: 'app', data () { return { myAdress:null, slots: [ { flex: 1, values: address, defaultIndex:10, className: 'slot1', textAlign: 'right' }, { divider: true, content: '-', className: 'slot2' }, { flex: 1, values: address[0].childs, defaultIndex:0, className: 'slot3', textAlign: 'left' }, { divider: true, content: '-', className: 'slot4' }, { flex: 1, values: address[0].childs[0].childs, defaultIndex:0, className: 'slot5', textAlign: 'left' } ] } }, methods: { onValuesChange(picker, values) { if(!values[0]){ this.$nextTick(()=>{ if(this.myAdress){ // 赋默认值 }else{ picker.setValues([address[0],address[0].childs[0],address[0].childs[0].childs[0]]) } }); }else{ picker.setSlotValues(1, values[0].childs); let town = []; if(values[1]){ town = values[1].childs; } picker.setSlotValues(2,town); } } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决