Vue 시내 3단 연결 선택기 V-distpicker 사용
최근에 사용한 Vue+Element UI는 일부 지역에서 성, 시내 3연 선택기를 사용해야 했다. 인터넷에 비슷한 플러그인을 설치하고 시도했지만 정상적으로 실현할 수 없거나 안연이 없어서 사용하지 않았다.마지막으로 선택한 것은 V-distpicker 같은 것으로 설정과 사용이 비교적 간단한 편이다. 다음은 그 사용법과 주의해야 할 점(밟아야 할 구덩이)을 공유한다.
1. 사용법
설치와 문서, 홈페이지를 보십시오https://distpicker.pigjian.com/
동성 친구 사이트https://github.com/jcc/v-distpicker
몇몇 동료들이 말하려고 하는데, 사용법을 공유하기로 하지 않았습니까?링크 두 개 던지면 끝이야?음..사실은요. 저는 이 작가가 문서를 아주 잘 썼다고 생각해요. 여러 가지 용법을 잘 소개했고 홈페이지에서 구체적인 조작을 시도할 수 있잖아요.
2. 주의해야 할 점
혼자 놀면 작가가 제공한 방법이면 충분해요. 저는 3급 관련에 초기치가 없는 이런 걸 썼어요.
홈페이지 코드:
import VDistpicker from 'v-distpicker'
export default {
components: { VDistpicker },
methods: {
onSelected(data) {
alert(data.province + ' | ' + data.city + ' | ' + data.area)
console.log(data)
},
}
}
이 플러그인의 사용법은 간단합니다. 중요한 것은 province,city,area 값의 귀속을 주의하는 것입니다. 여기서 제가 사용한 공식적인 selected 방법은 마지막 항목을 선택한 후에 터치합니다. talk is cheap,show code!
import VDistpicker from 'v-distpicker'
export default {
components: { VDistpicker },
data() {
return {
temp: {
addressprovince: '',
addresscity: '',
addressdist: '',
},
}
},
methods: {
onSelected(data) {
this.temp.addressprovince = data.province.value
this.temp.addresscity = data.city.value
this.temp.addressdist = data.area.value
}
}
</code></pre>
<p> , 。</p>
<pre><code> Element UI ( ) , 。Element UI , , V-Distpicker , Element UI area , province city , area , , !
, :</code></pre>
<pre><code class="language-css"><code>.disabled-select >>> select {
background-color: #f5f7fa;
border-color: #e4e7ed;
color: #c0c4cc;
cursor: not-allowed;
}</code></code></pre>
<p> disabled-select class class , class , 。 style lang="scss"。? </p>
<h1 id=" ">3. ?</h1>
<p> </p>
<pre class="json"><code>{
"province": {
"code": "210000",
"value": " "
},
"city": {
"code": "210400",
"value": " "
},
"area": {
"code": "210411",
"value": " "
}
}</code></pre>
<p> code value ? :</p>
<h3 id="methods">Methods</h3>
<table>
<thead>
<tr class="header">
<th style="text-align:left;"> </th>
<th style="text-align:left;"> </th>
<th style="text-align:left;"> </th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align:left;"><strong>province</strong></td>
<td style="text-align:left;"><strong> </strong></td>
<td style="text-align:left;"> </td>
</tr>
<tr class="even">
<td style="text-align:left;"><strong>city</strong></td>
<td style="text-align:left;"><strong> </strong></td>
<td style="text-align:left;"> </td>
</tr>
<tr class="odd">
<td style="text-align:left;"><strong>city</strong></td>
<td style="text-align:left;"><strong> </strong></td>
<td style="text-align:left;"> </td>
</tr>
<tr class="even">
<td style="text-align:left;"><strong>selected</strong></td>
<td style="text-align:left;"><strong> </strong></td>
<td style="text-align:left;"> </td>
</tr>
</tbody>
</table>
<p> code value 。。</p>
<p> :</p>
<pre class="vue"><code><template>
<div class="addr">
<v-distpicker
:province="newInfo.province"
:city="newInfo.city"
:area="newInfo.district"
@province="getProvince"
@city="getCity"
@area="getArea"
></v-distpicker>
</div>
</template>
<script>
import VDistpicker from "v-distpicker";
import { getAddress, addAddress, updateAddress, delAddress } from "@/api/api";
export default {
data() {
return {
updateIndex: "",
newInfoEmpty: {
province: "", //
city: "", //
area: "", //
receiveName: "", //
addr: "" //
},
newInfo: {
province: "", //
city: "", //
area: "", //
receiveName: "", //
addr: "", //
phone: ""
},
receiveInfoArr: [
// {
// id: '',
// province: '', //
// city: '', //
// area: '', //
// receiveName: '', //
// addr: '', //
// }
]
};
},
props: {},
components: {
VDistpicker
},
created() {
this.getReceiveInfo();
},
watch: {},
computed: {},
methods: {
bubble(index) {
this.currentIndex = index;
},
updateProvince(data) {
this.receiveInfoArr[this.currentIndex].province = data.value;
},
updateCity(data) {
this.receiveInfoArr[this.currentIndex].city = data.value;
},
updateArea(data) {
this.receiveInfoArr[this.currentIndex].district = data.value;
},
getProvince(data) {
this.newInfo.province = data.value;
},
getCity(data) {
this.newInfo.city = data.value;
},
getArea(data) {
this.newInfo.district = data.value;
},
getReceiveInfo() {
//
getAddress()
.then(response => {
console.log(response);
this.receiveInfoArr = response;
})
.catch(function(error) {
console.log(error);
});
},
addReceive() {
//
addAddress(this.newInfo)
.then(response => {
alert(" ");
//
this.getReceiveInfo();
this.newInfo = Object.assign({}, this.newInfoEmpty);
})
.catch(function(error) {
console.log(error);
});
},
confirmUpdate(id, index) {
//
updateAddress(id, this.receiveInfoArr[index])
.then(response => {
alert(" ");
this.getReceiveInfo();
})
.catch(function(error) {
console.log(error);
});
},
deleteInfo(id, index) {
//
delAddress(id)
.then(response => {
alert(" ");
this.getReceiveInfo();
})
.catch(function(error) {
console.log(error);
});
}
}
};
전재 대상:https://www.cnblogs.com/wenqiangit/p/10538826.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.