| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 | <template>	<view class="mpvue-picker">		<page-head :title="title"></page-head>		<view class="uni-padding-wrap uni-common-mt">			<view class="uni-title">				<!-- #ifndef H5 -->				<uni-icons size="16" type="info"></uni-icons>				<!-- #endif -->				说明 :			</view>			<view class="uni-helllo-text">				<view>					在App端可在pages.json里配置buttons,暂不支持动态改变buttons的样式,使用onNavigationBarButtonTap可监听城市选择按钮的点击事件。				</view>			</view>		</view>		<mpvue-picker			:themeColor="themeColor"			ref="mpvuePicker"			:mode="mode"			:deepLength="deepLength"			:pickerValueDefault="pickerValueDefault"			@onConfirm="onConfirm"			@onCancel="onCancel"			:pickerValueArray="pickerValueArray"		></mpvue-picker><!-- 		<picker ref="mpvuePicker" @change="bindPickerChange" :value="index" :range="pickerValueArray" range-key="label">			<view class="">{{pickerValueArray[index].label}}</view>		</picker> -->	</view></template><script>// https://github.com/zhetengbiji/mpvue-pickerimport mpvuePicker from '../../../components/mpvue-picker/mpvuePicker.vue';// https://github.com/zhetengbiji/mpvue-citypickerexport default {	components: {		mpvuePicker	},	data() {		return {			title: 'nav-city-dropdown',			pickerValueArray: [				{					label: '北京市',					value: 110000				},				{					label: '天津市',					value: 120000				},				{					label: '广州市',					value: 440100				},				{					label: '深圳市',					value: 440300				}			],			themeColor: '#007AFF',			mode: '',			deepLength: 1,			pickerValueDefault: [0],			index: 0,		};	},	onReady() {		this.setStyle(0, '北京市');	},	methods: {		onCancel(e) {			console.log(e);		},		// 单列		showSinglePicker() {			this.mode = 'selector';			this.deepLength = 1;			this.pickerValueDefault = [0];			this.$refs.mpvuePicker.show();		},		onConfirm(e) {			console.log(e.label);			this.setStyle(0, e.label);		},		/**		 * 修改导航栏buttons		 * index[number] 修改的buttons 下标索引,最右边索引为0		 * text[string] 需要修改的text 内容		 */		setStyle(index, text) {			let pages = getCurrentPages();			let page = pages[pages.length - 1];			if (text.length > 3) {				text = text.substr(0, 3) + '...';			}			// #ifdef APP-PLUS			let currentWebview = page.$getAppWebview();			let titleNView = currentWebview.getStyle().titleNView;			// 添加文字过长截取为3个字符,请根据自己业务需求更改			titleNView.buttons[0].text = text;			currentWebview.setStyle({				titleNView: titleNView			});			// #endif			// #ifdef H5			// h5 临时方案			document.getElementsByClassName('uni-btn-icon')[1].innerText = text;			// #endif		}	},	onBackPress() {		if (this.$refs.mpvuePicker.showPicker) {			this.$refs.mpvuePicker.pickerCancel();			return true;		}	},	onUnload() {		if (this.$refs.mpvuePicker.showPicker) {			this.$refs.mpvuePicker.pickerCancel();		}	},	onNavigationBarButtonTap(e) {		if (e.index === 0) {			this.showSinglePicker();		}	}};</script><style></style>
 |