Gunakan Uniapp untuk mencapai kesan pemilih pautan berbilang peringkat
1 kesan boleh dilihat dalam banyak senario aplikasi. Dalam Uniapp, kita boleh mencapai kesan ini dengan mudah dengan menggunakan komponen dan API yang disediakannya. Artikel ini akan memperkenalkan cara menggunakan Uniapp untuk melaksanakan pemilih pautan berbilang peringkat dan memberikan contoh kod khusus.
Sebelum memulakan pelaksanaan, kita perlu menyediakan kerja berikut:
Buat sumber data pemilih
Inti pemilih pautan berbilang peringkat ialah sumber data. Kami Mula-mula anda perlu mencipta satu set data yang memenuhi keperluan. Mengambil pemilih pautan tiga peringkat sebagai contoh, kami mentakrifkan tatasusunan Setiap elemen tatasusunan ialah objek. Tatasusunan anak juga terdiri daripada objek, dan sebagainya.const data = [ { name: '北京市', children: [ { name: '东城区', children: [ { name: '东华门街道' }, { name: '东四街道' } ] }, { name: '西城区', children: [ { name: '西单街道' }, { name: '西直门街道' } ] } ] }, { name: '上海市', children: [ { name: '黄浦区', children: [ { name: '外滩街道' }, { name: '南京东路街道' } ] }, { name: '徐汇区', children: [ { name: '徐家汇街道' }, { name: '田林街道' } ] } ] } ];
Melaksanakan struktur dan gaya halaman
Dalam Uniapp, kami Anda boleh menggunakan komponen yang disediakan untuk membina halaman. Mula-mula, buat halaman bernamaindex
dalam direktori pages
dan tulis struktur dan gaya halaman dalam fail index.vue
. <template> <view class="container"> <!-- 一级选择器 --> <picker mode="selector" :range="{{provinceList}}" bindchange="handleProvinceChange" :value="provinceIndex"> <view class="picker-block"> <text>请选择省份</text> <text>{{provinceName}}</text> <!-- 显示选择的省份 --> </view> </picker> <!-- 二级选择器 --> <picker mode="selector" :range="{{cityList}}" bindchange="handleCityChange" :value="cityIndex"> <view class="picker-block"> <text>请选择城市</text> <text>{{cityName}}</text> <!-- 显示选择的城市 --> </view> </picker> <!-- 三级选择器 --> <picker mode="selector" :range="{{districtList}}" bindchange="handleDistrictChange" :value="districtIndex"> <view class="picker-block"> <text>请选择区县</text> <text>{{districtName}}</text> <!-- 显示选择的区县 --> </view> </picker> </view> </template> <style> .container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; } .picker-block { margin-bottom: 20px; } </style>
pages
目录下创建一个名为index
的页面,在index.vue
文件中编写页面结构和样式。<script> export default { data() { return { provinceList: [], provinceIndex: 0, provinceName: "", cityList: [], cityIndex: 0, cityName: "", districtList: [], districtIndex: 0, districtName: "" }; }, mounted() { this.initData(); }, methods: { initData() { // 初始化省份列表 this.provinceList = data.map(item => item.name); // 初始化城市列表 this.handleProvinceChange({ detail: { value: this.provinceIndex } }); }, handleProvinceChange(e) { const index = e.detail.value; this.provinceIndex = index; this.provinceName = this.provinceList[index]; // 根据选择的省份,初始化城市列表 const cityData = data[index].children; this.cityList = cityData.map(city => city.name); // 初始化区县列表 this.handleCityChange({ detail: { value: this.cityIndex } }); }, handleCityChange(e) { const index = e.detail.value; this.cityIndex = index; this.cityName = this.cityList[index]; // 根据选择的城市,初始化区县列表 const districtData = data[this.provinceIndex].children[index].children; this.districtList = districtData.map(district => district.name); // 初始化选中的区县 this.handleDistrictChange({ detail: { value: this.districtIndex } }); }, handleDistrictChange(e) { const index = e.detail.value; this.districtIndex = index; this.districtName = this.districtList[index]; } } }; </script>
picker
组件的bindchange
事件来监听选择器的变化,并执行相应的逻辑。在index.vue
Dalam Uniapp, kami boleh menggunakan komponen picker
bagi >bindchange acara untuk mendengar perubahan dalam pemilih dan melaksanakan logik yang sepadan.
Tambahkan kod berikut dalam fail index.vue
:
4. Jalankan dan nyahpepijat
dalam HBuilderX , pilih persekitaran berjalan yang sesuai, dan pratonton dan nyahpepijat pada simulator atau mesin sebenar. Jika semuanya berjalan lancar, anda boleh melihat kesan pemilih pautan berbilang peringkat.
Atas ialah kandungan terperinci Gunakan uniapp untuk mencapai kesan pemilih pautan berbilang peringkat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!