我想用选择框完成不要用按钮
时间: 2024-02-28 12:15:50 浏览: 39
如果你希望直接通过选择框完成,而不使用按钮来触发选择框的显示,你可以将选择框的显示状态与一个变量绑定,并通过监听变量的改变来显示或隐藏选择框。
以下是一个示例代码,演示了如何使用选择框完成:
```html
<template>
<view>
<view class="label">请选择电梯</view>
<picker v-model="pickerValue" mode="multiSelector" @change="onChange">
<view class="picker">
<view class="picker-column">
<picker-view-column>
<view v-for="(country, index) in countryList" :key="index">{{ country }}</view>
</picker-view-column>
</view>
<view class="picker-column">
<picker-view-column>
<view v-for="(city, index) in cityList[pickerValue[0]]" :key="index">{{ city }}</view>
</picker-view-column>
</view>
</view>
</picker>
</view>
</template>
<script>
export default {
data() {
return {
countryList: ['中国', '美国', '英国'],
cityList: [
['北京', '上海', '广州'],
['纽约', '洛杉矶', '芝加哥'],
['伦敦', '曼彻斯特', '伯明翰']
],
pickerValue: [0, 0]
};
},
watch: {
pickerValue(newValue) {
console.log('选择的国家:', this.countryList[newValue[0]]);
console.log('选择的城市:', this.cityList[newValue[0]][newValue[1]]);
}
}
};
</script>
```
在上面的示例中,选择框的显示状态由pickerValue变量控制,通过双向绑定v-model来实现。当选择框的值发生变化时,watch监听函数会触发,你可以在其中进行相应的操作。在这个示例中,我将选择的国家和城市打印到了控制台上,你可以根据需要进行相应的处理。
阅读全文