Rumah hujung hadapan web uni-app uniapp menambah paparan secara dinamik

uniapp menambah paparan secara dinamik

May 26, 2023 am 09:23 AM

Dalam beberapa tahun kebelakangan ini, dengan populariti aplikasi mudah alih, pembangun mempunyai permintaan yang semakin meningkat untuk membina aplikasi mudah alih dengan cepat. Dalam pembangunan aplikasi mudah alih, UniApp, sebagai rangka kerja pembangunan mudah alih merentas platform, digemari oleh semakin ramai pembangun. Salah satu kelebihan UniApp ialah ia mempunyai pengalaman pembangunan yang baik dan perpustakaan komponen yang kaya Ia bukan sahaja boleh membina halaman asas dengan cepat, tetapi juga melaksanakan logik interaktif yang kompleks.

Artikel ini akan memperkenalkan cara UniApp boleh meningkatkan dan menambah paparan secara dinamik untuk memenuhi keperluan pelaksanaan logik interaksi yang kompleks.

Pertama sekali, kita perlu menjelaskan konsep asas UniApp. Dalam UniApp, halaman terdiri daripada berbilang komponen Setiap komponen boleh mewakili paparan atau tingkah laku Komponen yang berbeza boleh bersarang dan digabungkan antara satu sama lain untuk membentuk pelbagai halaman yang kompleks.

Seterusnya, mari kita lihat cara menambah komponen secara dinamik. Mari kita ambil keperluan mudah sebagai contoh: pada halaman, klik butang untuk menambah kotak teks secara dinamik.

Pertama, tentukan komponen butang pada halaman Apabila butang diklik, tambahkan kotak teks. Kod khusus adalah seperti berikut:

<template>
  <view>
    <button @tap="addInput">添加文本框</button>
    <view class="input-container">
      <!-- 这里是我们要添加的文本框 -->
    </view>
  </view>
</template>

<script>
export default {
  methods: {
    addInput() {
      // 动态添加文本框的操作
    }
  }
}
</script>
Salin selepas log masuk

Dalam kaedah addInput acara klik butang, kita perlu menambah komponen kotak teks secara dinamik. UniApp menyediakan kaedah komponen dinamik, yang boleh dilaksanakan melalui komponen komponen. Kod khusus adalah seperti berikut:

<template>
  <view>
    <button @tap="addInput">添加文本框</button>
    <view class="input-container">
      <!-- 这里是我们要添加的文本框 -->
      <component :is="inputComponent"></component>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      inputComponent: 'input'
      // 这里我们先设置为原生的input组件,后面会解释如何动态改变组件类型
    }
  },
  methods: {
    addInput() {
      // 动态添加文本框的操作
      this.inputComponent = 'input' // 这里我们先设置为原生的input组件
    }
  }
}
</script>
Salin selepas log masuk

Dalam kod di atas, kami mengikat komponen secara dinamik melalui inputComponent dan memberitahu komponen jenis komponen yang akan diberikan melalui arahan :is.

Kini, kita perlu melaksanakan operasi menambah kotak teks secara dinamik. Kod khusus adalah seperti berikut:

<template>
  <view>
    <button @tap="addInput">添加文本框</button>
    <view class="input-container">
      <!-- 这里是我们要添加的文本框 -->
      <component :is="inputComponent"></component>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      inputComponent: 'input'
      // 这里我们先设置为原生的input组件,后面会解释如何动态改变组件类型
    }
  },
  methods: {
    addInput() {
      // 动态添加文本框的操作
      this.inputComponent = 'input' // 这里我们先设置为原生的input组件
      
      // 使用uni.$createComponent创建一个新的组件实例
      const inputInstance = uni.$createComponent({
        // 组件的选择器
        selector: 'dynamic-input',
        // 组件的模板
        template: '<input v-model="value" placeholder="请输入内容"></input>',
        // 组件的数据
        data() {
          return {
            value: ''
          }
        }
      })
      
      // 使用this.$refs获取到容器内的dom对象
      const containerDom = this.$refs.inputContainer.$el
      
      // 使用uni.$app.$mount将组件实例挂载到dom容器中
      inputInstance.$mount(containerDom)
    }
  }
}
</script>
Salin selepas log masuk

Dalam kod di atas, mula-mula kita menggunakan kaedah uni.$createComponent untuk mencipta contoh komponen dinamik baharu, kemudian gunakan ini.$refs untuk mendapatkan objek DOM bekas , dan kemudian gunakan uni.$app Kaedah .$mount memasang tika komponen ke dalam bekas DOM.

Kini, kita boleh menjalankan kod, klik butang dan berjaya menambah kotak teks secara dinamik. Walau bagaimanapun, jika kita ingin menukar jenis komponen secara dinamik, seperti menambah butang radio, kita perlu menukar nilai inputComponent secara dinamik dan kemudian melaksanakan semula operasi menambah komponen secara dinamik.

Artikel ini memperkenalkan cara meningkatkan dan menambah paparan secara dinamik dalam UniApp dengan mencipta tika komponen secara dinamik dan cara menukar jenis komponen secara dinamik. Saya harap artikel ini boleh membantu pembangun mudah alih.

Atas ialah kandungan terperinci uniapp menambah paparan secara dinamik. 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 尊渡假赌尊渡假赌尊渡假赌

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 mengendalikan storan tempatan di uni-app? Bagaimana saya mengendalikan storan tempatan di uni-app? Mar 11, 2025 pm 07:12 PM

Artikel ini memperincikan API penyimpanan tempatan Uni-App (uni.setstoragesync (), uni.getstoragesync (), dan rakan-rakan async mereka), menekankan amalan terbaik seperti menggunakan kekunci deskriptif, mengehadkan saiz data, dan mengendalikan parsing JSON. Ia menekankan bahawa lo

Bagaimana saya membuat permintaan API dan mengendalikan data dalam uni app? Bagaimana saya membuat permintaan API dan mengendalikan data dalam uni app? Mar 11, 2025 pm 07:09 PM

Butiran artikel ini membuat dan mendapatkan permintaan API dalam Uni-app menggunakan Uni.request atau Axios. Ia meliputi pengendalian tindak balas JSON, amalan keselamatan terbaik (HTTPS, pengesahan, pengesahan input), kegagalan penyelesaian masalah (isu rangkaian, kors, s

Bagaimana saya menggunakan API Geolocation Uni-App? Bagaimana saya menggunakan API Geolocation Uni-App? Mar 11, 2025 pm 07:14 PM

Artikel ini memperincikan API Geolocation Uni-App, yang memberi tumpuan kepada uni.getLocation (). Ia menangani perangkap biasa seperti sistem koordinat yang salah (GCJ02 vs WGS84) dan isu kebenaran. Meningkatkan ketepatan lokasi melalui bacaan dan pengendalian purata

Bagaimanakah saya menguruskan Negeri dalam Uni App menggunakan Vuex atau Pinia? Bagaimanakah saya menguruskan Negeri dalam Uni App menggunakan Vuex atau Pinia? Mar 11, 2025 pm 07:08 PM

Artikel ini membandingkan Vuex dan Pinia untuk pengurusan negeri di Uni-App. Ia memperincikan ciri -ciri, pelaksanaan, dan amalan terbaik mereka, menonjolkan kesederhanaan Pinia berbanding struktur Vuex. Pilihan bergantung pada kerumitan projek, dengan pinia sutia

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 ciri Easycom Uni-App untuk pendaftaran komponen automatik? Bagaimanakah saya menggunakan ciri Easycom Uni-App untuk pendaftaran komponen automatik? Mar 11, 2025 pm 07:11 PM

Artikel ini menerangkan ciri Easycom UNI-APP, mengautomasikan pendaftaran komponen. Ia memperincikan konfigurasi, termasuk pemetaan komponen autoscan dan adat, menonjolkan faedah seperti dikurangkan boilerplate, kelajuan yang lebih baik, dan kebolehbacaan yang dipertingkatkan.

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]

Bagaimanakah saya menggunakan API Uni.request Uni-App untuk membuat permintaan HTTP? Bagaimanakah saya menggunakan API Uni.request Uni-App untuk membuat permintaan HTTP? Mar 11, 2025 pm 07:13 PM

Artikel ini butiran API UNI.REQUEST dalam UNI-APP untuk membuat permintaan HTTP. Ia meliputi penggunaan asas, pilihan lanjutan (kaedah, tajuk, jenis data), teknik pengendalian ralat yang mantap (panggilan balik gagal, pemeriksaan kod status), dan integrasi dengan authenticat

See all articles