Rumah > hujung hadapan web > uni-app > Cara membuat tetingkap pop timbul uniapp webview

Cara membuat tetingkap pop timbul uniapp webview

PHPz
Lepaskan: 2023-04-23 09:42:57
asal
1543 orang telah melayarinya

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>
Salin selepas log masuk
  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>
Salin selepas log masuk
  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>
Salin selepas log masuk

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!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan