Rumah  >  Artikel  >  hujung hadapan web  >  Cara membuat tetingkap pop timbul uniapp webview

Cara membuat tetingkap pop timbul uniapp webview

PHPz
PHPzasal
2023-04-23 09:12:101426semak imbas

Dengan populariti aplikasi web mudah alih, pop timbul Webview telah menjadi salah satu keperluan biasa dalam pembangunan aplikasi web mudah alih. Sebagai rangka kerja pembangunan merentas platform yang sangat baik, Uniapp juga menyediakan komponen dan API berkaitan Webview, membolehkan pembangun melaksanakan fungsi tetingkap timbul Webview dengan mudah.

Artikel ini akan menumpukan pada kaedah dan langkah khusus tentang cara menggunakan Webview untuk melaksanakan tetingkap timbul dalam Uniapp.

  1. Buat komponen Webview

Pertama, buat komponen Webview dalam Uniapp. Dalam Uniapp, kita boleh menggunakan komponen webview untuk memaparkan halaman web.

Contoh kod:

<template>
  <view class="container">
    <web-view :src="url" :style="webViewStyle" @message="onMessage"></web-view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      webViewStyle: {
        height: `${uni.upx2px(500)}px`
      },
      url: 'https://www.example.com'
    }
  },
  methods: {
    onMessage(e) {
      //  接收来自webview组件发来的数据
      console.log(e.detail.data)
    }
  }
}
</script>
  1. Perkenalkan komponen Webview ke dalam komponen pop timbul

Seterusnya, kita perlu memperkenalkan Webview ke dalam pop komponen komponen -up. Dalam kes ini, kami akan mencipta komponen pop timbul bawah yang akan dipaparkan apabila pengguna mengklik pada komponen lain.

Contoh kod:

<template>
  <view>
    <!-- 遮罩 -->
    <view class="mask" v-show="visible" @click="onClose"></view>

    <!-- 底部弹窗 -->
    <view class="popup" :class="{ show: visible }">
      <webview :src="url" :style="webViewStyle"></webview>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      visible: false, // 是否展示底部弹窗
      webViewStyle: {
        height: `${uni.upx2px(500)}px`
      },
      url: 'https://www.example.com'
    }
  },
  methods: {
    // 打开底部弹窗
    open() {
      this.visible = true;
    },
    // 关闭底部弹窗
    onClose() {
      this.visible = false;
    }
  }
}
</script>

<style>
.popup {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: auto;
  background-color: #fff;
  z-index: 1000;
  transform: translateY(100%);
  transition: transform .3s;
}

.popup.show {
  transform: translateY(0);
}

.mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: .6;
  background-color: #000;
  z-index: 999;
  transition: opacity .3s;
}

.mask.show {
  opacity: 1;
}
</style>
  1. Tetingkap pop timbul Pencetus

Akhir sekali, kita perlu mendengar peristiwa klik dalam komponen lain apabila klik pengguna, Panggil kaedah terbuka komponen tetingkap timbul untuk memaparkan tetingkap timbul.

Contoh kod:

<template>
  <view>
    <view class="button" @click="showPopup">显示弹窗</view>
    <popup ref="popup"></popup>
  </view>
</template>

<script>
    import Popup from './components/popup'

    export default {
        components: {
            Popup
        },
        methods: {
            // 显示弹窗
            showPopup() {
                this.$refs.popup.open()
            }
        }
    }
</script>

Baiklah, sekarang anda tahu kaedah dan langkah khusus menggunakan Uniapp untuk melaksanakan tetingkap timbul Webview. Saya percaya bahawa semua orang boleh mengubah suai dan mengembangkannya mengikut keperluan dan keutamaan projek mereka sendiri untuk mencapai fungsi yang lebih kaya. Saya harap artikel ini dapat membantu semua orang, terima kasih kerana membaca!

Atas ialah kandungan terperinci Cara membuat tetingkap pop timbul uniapp webview. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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