dialog实现的模态框

文章介绍了如何利用Vue中的dialog元素创建模态框,解决了在自定义模态框时经常遇到的层级显示问题。dialog元素能确保模态框始终在最高层级显示,并且内置了显示和关闭功能。此外,文中还提及了图片懒加载的实现。
摘要由CSDN通过智能技术生成

 自己写模态框总是遇到层级之类的问题,用dialog元素包裹模态框元素,他会生成一个弹窗,

并且他是在页面渲染完毕后又从新独立渲染的,永远层级都是最高的,不用担心层级问题

它还自带了显示和关闭的方法,只需要去调用就行

并且他也有实现模态框的方法showModal()



<template>
  <div>
    <button @click="show()">模态框</button>
    <dialog ref="dialog">
    <div class="">
      <p>懒加载</p>
      <button @click="lazyimg(imgs)">开始</button>
      <button @click="close()">关闭</button>
    </div>
  </dialog>
  </div>
   <div class="imgWrap">
    <img src="../assets/three.png" :data-src="'https://picsum.photos/300/500?r=' + id" alt=""  v-for="id in num" key="id" ref="imgs">
   </div>
</template>
<script setup>
import { ref ,onMounted} from 'vue'
import lazyimg from '../imagelazy'
let num = ref(100)
let imgs = ref(null)
let dialog = ref(null)
onMounted(()=>{
  // 图片懒加载
  // lazyimg(imgs.value)
})
let show = ()=>{
  // show方法普通弹窗 showModal方法模态窗
  dialog.value.showModal()
}
let close = ()=>{
  // 关闭弹窗
  dialog.value.close()
}




</script>
<style scoped>
.read-the-docs {
  color: #888;
}
img{
  width: 200px;
  height: 160px;
}
.imgWrap{
  width: 820px;
  margin: 0 auto;
}

</style>

Android可以通过使用Dialog或者BottomSheet来实现模态框。 1. 使用Dialog实现模态框: 在Android中,Dialog一个用于显示视图的弹出式窗口。可以使用AlertDialog或者自定义布局来创建Dialog。AlertDialog一个预定义的对话框,它提供了几个按钮和默认的布局,而自定义Dialog可以包含一个用户定义的布局。 下面是使用AlertDialog实现模态框的示例代码: ```java AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("Title"); builder.setMessage("Message"); builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // 点击OK按钮时执行的代码 } }); builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // 点击Cancel按钮时执行的代码 } }); AlertDialog dialog = builder.create(); dialog.show(); ``` 2. 使用BottomSheet实现模态框: BottomSheet是Android 5.0引入的一个新控件,它是一个可以从屏幕底部弹出的视图。可以使用BottomSheetDialog或者BottomSheetBehavior来创建BottomSheet。 下面是使用BottomSheetDialog实现模态框的示例代码: ```java BottomSheetDialog dialog = new BottomSheetDialog(context); View view = LayoutInflater.from(context).inflate(R.layout.bottom_sheet_layout, null); dialog.setContentView(view); dialog.show(); ``` 其中,bottom_sheet_layout是自定义的布局文件,可以在其中添加需要显示的内容。 希望能够帮助到你!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值