前陣子項目中有一個城市多選的需求,分解後有如下幾個須要實現的指標:html
很少說先看效果。vue
再來幾張靜態圖。git
git repertory:https://github.com/chokingwin/area-multi-selection
,歡迎stargithub
須要說明的是,這是一個基於iview提供的 checkbox
和 poptip
組件封裝而成。npm
area組件在項目 src/components/
目錄下,包括 area-source.json
、area-producer.js
、area.vue
三個文件,直接複製這文件夾到你的vue工程中。json
import areaMultiSelection from './components/area/area';
複製代碼
components: {
'area-multi-selection': areaMultiSelection
}
複製代碼
<area-multi-selection @areaData="receiveAreaData" :AreaData="areaIndexArr"></area-multi-selection>
複製代碼
這裏相應,還要準備一個傳入組件的 data areaIndexArr
,還有一個接收組件輸出結果的 method receiveAreaData
iview
data() {
return {
isShowAreaModel: false,
areaIndexArr: [],
areaNameArr: []
};
},
methods: {
receiveAreaData(data) {
this.areaIndexArr = data.index;
this.areaNameArr = data.name;
}
}
複製代碼
整個項目已經放到github上:https://github.com/chokingwin/area-multi-selection
,再次歡迎star。
大夥能夠 clone 下來,跑起來看看。項目裏也寫了個簡單的頁面,直觀展現了城市多選的輸出結果。優化
還有不少不足,這裏說幾點:this
就這樣,週末愉快~spa