uniapp 使用 uni-data-picker级联选择器,自定义展示,uni小程序 ...

打印 上一主题 下一主题

主题 653|帖子 653|积分 1959

uniapp 使用 uni-data-picker级联选择器,多级选择,自定义展示

先看效果是不是你要的效果

页面组件
  1.                 <uni-data-picker placeholder="请选择"
  2.                         v-model="jiduvalue"
  3.                         :localdata="jidurange"
  4.                         @change="changejidu"
  5.                         :step-searh="false"
  6.                         :preload="true">
  7.                 </uni-data-picker>
  8.                
复制代码
接口数据
  1.                 jiduvalue:0,
  2.                 jidurange: [],
  3.                 data: [
  4.                         {
  5.                         year: '2022',
  6.                           value: 1,
  7.                           children: [
  8.                                 { name: '2022秋季', value: 1.1, cjsysid: '' },
  9.                                 { name: '2022夏季', value: 1.2, cjsysid: '' },
  10.                           ],
  11.                         },
  12.                         {
  13.                           year: '2023',
  14.                           value: 2,
  15.                           children: [
  16.                                 { name: '2023秋季', value: 2.1, cjsysid: '' },
  17.                                 { name: '2023夏季', value: 2.2, cjsysid: '' },
  18.                           ],
  19.                         },
  20.                 ]
复制代码
接口数据以及处理方式
  1.        
  2.                
  3.                 <----------------------------------------------->
  4.                 数据处理
  5.                         console.log(res.data.data)
  6.                         let fenji = res.data.data
  7.                         _this.jidurange = fenji.map((item, index) => ({
  8.                           text: item.year,
  9.                           value: index + 1,
  10.                           children: item.children.map((child, childIndex) => ({
  11.                             text: child.name,
  12.                             value: parseFloat(`${index + 1}.${childIndex + 1}`),
  13.                             cjsysid: child.sysid
  14.                           }))
  15.                         }));
  16.        
复制代码
选中后的数据处理,拿到选中的值
  1.         changejidu(e){
  2.                 console.log(e.detail.value)
  3.                 const selec = e.detail.value[1].text
  4.                  const matchedObject = this.jidurange.find(obj =>
  5.                    obj.children.find(fruit => fruit.text === selec)
  6.                  );
  7.                 const matct = matchedObject.children.find(obj => obj.text === selec);
  8.                  console.log(matct);  //  选中的值
  9.         }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

玛卡巴卡的卡巴卡玛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表