第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【學(xué)習(xí)打卡】第5天 圖標(biāo)選擇器的二次封裝

標(biāo)簽:
Vue.js

课程名称:基于Vue3+Vite+TS,二次封装element-plus业务组件
课程章节:封装组件初级篇(上)
主讲老师:五月的夏天

课程内容:

今天学习的内容包括:
2-10 省市区选择组件-利用 github 获取到省市区数据——国内省市区完整数据。
2-11 省市区选择组件-巧用 watch 来达到三级联动效果——watch 和 computed 有不同的使用场景。
2-12 省市区选择组件-完善省市区联动组件并给父组件分发事件——封装组件必然有抛出和引入。

课程收获:

省市区数据的获取:

github上可以搜索得到比较完整的数据,可以直接下载使用。

实现省市区联动

1、首先引入下载下来的数据
2、绑定省市区字段,通过 watch 进行市区数据的重新赋值,使用 computed 本身是计算得来,无法进行计算再赋值,故而使用 watch
3、巧用ES6中 ! 和 ? 进行数据的判断,可节省大量判断或三目代码

  import allAreas from '../lib/pca-code.json'
  
  // 监听选择省份
  watch(
    () => province.value,
    (value) => {
      if (value) {
        selectCity.value = areas.value.find(
          (item) => item.code === province.value
        )!.children!
      }
    }
  )

完善省市区联动

1、给省市区下拉加入删除和筛选功能,此处使用 element-plus 提供的 clearable 和 filterable,大大挺好用户体验

<el-select clearable filterable placeholder="请选择省份" v-model="province">
   <el-option
     v-for="item in areas"
     :key="item.code"
     :value="item.code"
     :label="item.name"
   />
 </el-select>

2、在 watch 中加入数据变化对应的处理

  watch(
    () => province.value,
    (value) => {
      ...
      city.value = ''
      area.value = ''
    }
  )

3、给数据添加 interface

 export interface AreaItem {
    code: string
    name: string
    children?: AreaItem[]
  }

4、对组件的 change 进行 emits

 watch(
    () => area.value,
    (value) => {
     ...
      emits('change', {
        province: provinceData,
        city: cityData,
        area: areaData
      })
    }
  )

整体效果非常不错,学习到了一些好的方法和语法,跟着老师的思维,提升自己的思考方式,提升自己的代码质量。

下一步就是学习利用app.use特性全局注册组件的封装和完成作业了。今天学习就先到这里吧。

坚持打卡,坚持学习,未来可期,加油😀~

https://img1.sycdn.imooc.com//62ee57870001e6c319200897.jpg

https://img1.sycdn.imooc.com//62ee60060001ca5519200897.jpg

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消