


Cara menggunakan gelung untuk menentukan lebar dan menukar lebar dalam uniapp
Dengan populariti aplikasi mudah alih, pembangun telah menyediakan banyak alatan dan rangka kerja pembangunan yang mudah digunakan UniApp ialah rangka kerja merentas platform yang membolehkan pembangun menggunakan kod yang sama untuk membina aplikasi pada berbilang platform. Dalam UniApp, kita selalunya perlu menangani beberapa isu susun atur dan gaya Cara menggelung untuk menentukan lebar dan menukar lebar adalah salah satu masalah biasa.
Pertama sekali, kami perlu menjelaskan keperluan yang ingin kami capai ialah meletakkan berbilang sub-elemen dengan lebar yang tidak sama dalam bekas Apabila jumlah lebar semua sub-elemen adalah kurang daripada lebar bekas, lebar sub-elemen mestilah Bahagikan lebar bekas sama rata, dan lebar setiap elemen anak tidak kurang daripada nilai yang ditentukan Jika jumlah lebar lebih besar daripada lebar bekas, lebar setiap elemen kanak-kanak perlu dikurangkan secara berkadar agar muat dengan bekas.
Seterusnya, kita boleh mempertimbangkan untuk menggunakan arahan v-for dalam Vue untuk menjadikan elemen kanak-kanak dalam gelung, sambil mentakrifkan pembolehubah untuk menyimpan lebar elemen kanak-kanak dan menukar nilainya mengikut situasi sebenar. Kodnya adalah seperti berikut:
<template> <view> <view> {{ item }} </view> </view> </template> <script> export default { data() { return { itemList: ['Apple', 'Banana', 'Cherry', 'Grape', 'Orange'], containerWidth: 100, // 容器宽度 itemWidth: [], // 子元素宽度 minItemWidth: 30 // 子元素最小宽度 } }, mounted() { this.calculateWidth() }, methods: { calculateWidth() { const totalWidth = this.itemList.reduce((pre, cur) => { return pre + this.calculateTextWidth(cur) }, 0) if (totalWidth < this.containerWidth) { // 宽度不足,均分 const width = Math.floor(this.containerWidth / this.itemList.length) this.itemWidth = this.itemList.map(() => width) } else { // 宽度过多,按比例缩小 let availableWidth = this.containerWidth const result = this.itemList.reduce((pre, cur) => { const curWidth = this.calculateTextWidth(cur) const minCurWidth = Math.min(curWidth, this.minItemWidth) const ratio = curWidth / minCurWidth pre.push({ originalWidth: curWidth, availableWidth: Math.floor(availableWidth / ratio), ratio: ratio }) availableWidth -= Math.floor(availableWidth / ratio) return pre }, []) this.itemWidth = result.map(item => { return Math.max(item.availableWidth / item.ratio, this.minItemWidth) }) } }, calculateTextWidth(text) { // 通过uni.createSelectorQuery获取元素实际宽度 return uni.createSelectorQuery().select('.text-measure') .boundingClientRect(rect => { return rect.width }).exec() } } } </script> <style> .container { display: flex; flex-wrap: wrap; } .item { display: flex; justify-content: center; align-items: center; padding: 5px; } .text-measure { visibility: hidden; position: absolute; left: -9999px; } </style>
Idea pelaksanaan kod di atas adalah untuk mengira dahulu hubungan antara jumlah lebar sub-elemen dan lebar bekas, dan kemudian tentukan sama ada perlu untuk menyamakan lebar sub-elemen atau mengurangkannya secara berkadar berdasarkan situasi sebenar Akhir sekali, tetapkan lebar terkira elemen anak kepada pembolehubah itemWidth
dan gunakan arahan v-for
dalam. templat untuk memaparkan elemen kanak-kanak.
Perlu diambil perhatian bahawa untuk mengira lebar teks, kita perlu mentakrifkan elemen kelas text-measure
untuk pengukuran sebenar dan menggunakan uni.createSelectorQuery
untuk mendapatkan lebar sebenar elemen.
Ringkasnya, UniApp ialah rangka kerja berkuasa yang menyediakan banyak alatan dan komponen yang mudah untuk menyelesaikan pelbagai masalah pembangunan aplikasi mudah alih. Apabila menangani isu susun atur dan gaya, menggunakan gelung untuk menentukan lebar dan menukar lebar adalah kaedah yang sangat berkesan dan praktikal yang boleh membantu kami membina kesan reka letak yang kami inginkan dengan cepat.
Atas ialah kandungan terperinci Cara menggunakan gelung untuk menentukan lebar dan menukar lebar dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan strategi penyahpepijatan untuk platform mudah alih dan web, menonjolkan alat seperti Android Studio, Xcode, dan Chrome Devtools, dan teknik untuk hasil yang konsisten di seluruh OS dan pengoptimuman prestasi.

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

Artikel ini membincangkan ujian akhir-ke-akhir untuk aplikasi UNIPP merentasi pelbagai platform. Ia meliputi senario ujian yang menentukan, memilih alat seperti Appium dan Cypress, menubuhkan persekitaran, menulis dan menjalankan ujian, menganalisis hasil, dan integrat

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Artikel ini membincangkan prestasi anti-corak prestasi dalam pembangunan UNIPP, seperti penggunaan data global yang berlebihan dan pengikatan data yang tidak cekap, dan menawarkan strategi untuk mengenal pasti dan mengurangkan isu-isu ini untuk prestasi aplikasi yang lebih baik.

Artikel ini membincangkan menggunakan alat profil untuk mengenal pasti dan menyelesaikan kesesakan prestasi di UNIAPP, yang memberi tumpuan kepada persediaan, analisis data, dan pengoptimuman.

Artikel ini membincangkan strategi untuk mengoptimumkan permintaan rangkaian di UNIPP, memberi tumpuan kepada mengurangkan latensi, melaksanakan caching, dan menggunakan alat pemantauan untuk meningkatkan prestasi aplikasi.

Artikel ini membincangkan mengoptimumkan imej dalam UNIPP untuk prestasi web yang lebih baik melalui mampatan, reka bentuk responsif, pemuatan malas, caching, dan menggunakan format WEBP.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod