Rumah hujung hadapan web uni-app Bagaimanakah uniapp menentukan sama ada teks melebihi kawasan yang ditentukan?

Bagaimanakah uniapp menentukan sama ada teks melebihi kawasan yang ditentukan?

Apr 18, 2023 pm 02:12 PM

Dalam pembangunan mudah alih, kita sering menghadapi situasi: kita perlu menentukan sama ada sekeping teks melebihi kawasan yang ditetapkan. Sebagai contoh, pada halaman profil pengguna, nama panggilan pengguna mungkin melebihi kawasan paparan Dalam kes ini, kita perlu memotong atau menyingkat nama panggilan.

Artikel ini akan memperkenalkan cara menggunakan uniapp untuk menentukan sama ada teks melebihi kawasan yang ditentukan dan cara memotong serta memaparkan lakaran kecil.

1 Sama ada untuk mendapatkan teks melebihi

Dalam uniapp, anda boleh menggunakan API applet WeChat untuk mendapatkan maklumat nod teks. Gunakan kaedah wx.createSelectorQuery() untuk mendapatkan nod halaman, kemudian gunakan kaedah select() untuk mendapatkan nod teks, dan akhirnya gunakan kaedah boundingClientRect() untuk mendapatkan kedudukan dan saiz nod.

Kod khusus adalah seperti berikut:

// 在页面中添加一个id为“text-wrapper”的文本节点
<view id="text-wrapper">{{text}}</view>

<!-- JS代码 -->
onReady() {
  wx.createSelectorQuery().select('#text-wrapper').boundingClientRect(rect => {
    console.log(rect.width)  // 文本宽度
    console.log(rect.height) // 文本高度
  }).exec()
}
Salin selepas log masuk

Melalui kod di atas, kita boleh mendapatkan maklumat lebar dan ketinggian nod teks. Seterusnya, kita boleh membandingkannya dengan lebar dan ketinggian bekas untuk menentukan sama ada teks melebihinya.

2. Pangkas teks

Apabila teks melebihi bekas, kami boleh memotong teks dan hanya memaparkan sebahagian daripada kandungan. Dalam uniapp, anda boleh menggunakan kaedah substr() atau kaedah slice() js untuk pemotongan.

Kod khusus adalah seperti berikut:

// 在页面中添加一个宽度为200px的容器
<view class="container">

  // 在容器中添加一个id为“text-wrapper”的文本节点
  <view id="text-wrapper">{{text}}</view>

</view>

<!-- JS代码 -->
onReady() {
  wx.createSelectorQuery().select('#text-wrapper').boundingClientRect(rect => {
    if (rect.width > 200) {
      let len = Math.floor(200 / (rect.width / this.text.length))  // 根据容器宽度计算字符数
      this.text = this.text.substr(0, len) + '...'  // 截断字符串并添加省略号
    }
  }).exec()
}
Salin selepas log masuk

Dalam kod di atas, kami mengesan sama ada lebar nod teks melebihi lebar bekas sebanyak 200px Jika melebihi, kami kira aksara yang boleh dipaparkan nombor. Kemudian gunakan kaedah substr() untuk memotong teks dan menambah elipsis pada penghujungnya.

3. Paparan lakaran kecil teks

Selain memotong teks, kami juga boleh memaparkan kandungan lengkap melalui paparan lakaran kecil. Dalam uniapp, anda boleh menggunakan atribut limpahan teks CSS dan kata kunci elipsis untuk mencapai kesan lakaran kecil.

Kod khusus adalah seperti berikut:

// 在页面中添加一个宽度为200px、高度为40px的容器
<view class="container">

  // 在容器中添加一个id为“text-wrapper”的文本节点
  <view id="text-wrapper">{{text}}</view>

</view>

<!-- CSS代码 -->
.container {
  width: 200px;
  height: 40px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
Salin selepas log masuk

Dalam kod di atas, kami menyembunyikan kandungan di luar bekas dengan menetapkan atribut limpahan bekas kepada tersembunyi. Kemudian gunakan atribut limpahan teks dan kata kunci elipsis untuk menambah elipsis dan gunakan atribut ruang putih untuk mengelakkan teks daripada dibalut.

Ringkasan

Dengan menggunakan gaya API dan CSS yang disediakan oleh uniapp dan applet WeChat, kami boleh menentukan dengan mudah sama ada teks melebihi, memotong teks dan memaparkan teks dalam lakaran kecil. Dalam pembangunan sebenar, memilih kaedah yang sesuai mengikut keperluan khusus boleh meningkatkan pengalaman pengguna aplikasi dengan berkesan.

Atas ialah kandungan terperinci Bagaimanakah uniapp menentukan sama ada teks melebihi kawasan yang ditentukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya menggunakan API perkongsian sosial Uni-app? Bagaimana saya menggunakan API perkongsian sosial Uni-app? Mar 13, 2025 pm 06:30 PM

Artikel ini memperincikan bagaimana untuk mengintegrasikan perkongsian sosial ke dalam projek Uni-app menggunakan API Uni.share, meliputi persediaan, konfigurasi, dan ujian di seluruh platform seperti WeChat dan Weibo.

Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Mar 18, 2025 pm 12:20 PM

Artikel membincangkan menggunakan SASS dan kurang preprocessors dalam UNI-APP, memperincikan persediaan, faedah, dan penggunaan dwi. Fokus utama adalah pada konfigurasi dan kelebihan. [159 aksara]

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

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

Bagaimana saya menggunakan API Animasi Uni-App? Bagaimana saya menggunakan API Animasi Uni-App? Mar 18, 2025 pm 12:21 PM

Artikel ini menerangkan cara menggunakan API Animasi Uni-App, memperincikan langkah-langkah untuk membuat dan menggunakan animasi, fungsi utama, dan kaedah untuk menggabungkan dan mengawal masa animasi.

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Mar 18, 2025 pm 12:22 PM

Artikel ini menerangkan cara menggunakan API penyimpanan Uni-App (uni.setstorage, uni.getstorage) untuk pengurusan data tempatan, membincangkan amalan terbaik, penyelesaian masalah, dan menyoroti batasan dan pertimbangan untuk kegunaan yang berkesan.

Apakah struktur fail projek uni-app? Apakah struktur fail projek uni-app? Mar 14, 2025 pm 06:55 PM

Artikel ini memperincikan struktur fail projek uni-app, menerangkan direktori utama seperti biasa, komponen, halaman, statik, dan unicloud, dan fail penting seperti app.vue, main.js, manifest.json, halaman.json, dan uni.scss. Ia membincangkan bagaimana ini o

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

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

See all articles