General city select component, allow configuration input box, locate city, hot city, common city and so on.
weex-ui >= 0.3.10
<template> <div class="wxc-demo"> <scroller class="scroller"> <div class="btn" @click="showListCity"> <text class="btn-txt">City Select</text> </div> <div class="panel"> <text v-if="currentCity" class="text">Current City: {{currentCity}}</text> </div> </scroller> <wxc-city ref="wxcCity" :animationType="animationType" :currentLocation="location" :cityStyleType="cityStyleType" @wxcCityItemSelected="citySelect" @wxcCityOnInput="onInput"></wxc-city> </div> </template> <script> // Delete the data source configuration and use the default data. import { WxcCity } from 'weex-ui'; export default { components: { WxcCity }, data: () => ({ animationType: 'push', currentCity: '', cityStyleType:'list', location: 'Positioning' }), mounted () { // Analog positioning setTimeout(() => { this.location = 'Hangzhou'; }, 500); }, methods: { showListCity () { this.cityStyleType = 'list' this.$refs['wxcCity'].show(); }, showGroupCity () { this.cityStyleType = 'group' this.$refs['wxcCity'].show(); }, citySelect (e) { this.currentCity = e.item; }, onInput (e) { } } }; </script>
More details can be found in here
Prop | Type | Required | Default | Description |
---|---|---|---|---|
input-config | Object | N | {} | Search Input configuration (*1) |
source-data | Object | N | Default China City data | City data configuration (*2) |
city-style-type | String | N | list | Style configuration (*3) |
current-location | String | Y | `` | Location of the city configuration (*4) |
show-index | Boolean | N | true | Whether the right index item is show |
show-nav-header | Boolean | N | true | Whether the nav index is show |
city-height | Number | N | 0 | Custom City height, non special business do not set up! |
animation-type | String | N | push | Support model or push type |
*1:Search Input configuration:
{ autofocus: false, alwaysShowCancel: true, placeholder: 'Search' }
*2:City data configuration,Detailed as CityList can be see in data.js
{ hotCity: [ { cityName: '北京', pinYin: 'beijing', py: 'bj' } ], cities: [ { cityName: '北京', pinYin: 'beijing', py: 'bj' } ] }
*3:Style configuration,type:group
,list
*4:Location of the city configuration,example:Hangzhou
// Cancel button callback @wxcCityCanceled="cityCancel" // City selection callback @wxcCityItemSelected="citySelect" // Enter the return callback @wxcCityOnKeyUpEnter="cityOnKeyUpEnter" // City input box input callback @wxcCityOnInput="cityInputChange"