uView Modal 模态框

简介: uView Modal 模态框

弹出模态框,常用于消息提示、消息确认、在当前页面内完成特定的交互操作。

#平台差异说明

App(vue) App(nvue) H5 小程序

#基本使用

默认情况下,模态框只有一个确认按钮:

  • 请至少要配置弹框的内容参数content
  • 通过show绑定一个布尔变量来控制模态框的显示与否。
<template>
  <view >
    <u-modal :show="show" :title="title" :content='content'></u-modal>
    <u-button @click="show = true">打开</u-button>
  </view>
</template>
<script>
export default {
  data() {
    return {
      show:false,
      title:'标题',
      content:'uView的目标是成为uni-app生态最优秀的UI框架'
    };
  }
};
</script>

copy

#传入富文本内容

有时候我们需要给模态框的内容,不一定是纯文本的字符串,可能会需要换行,嵌入其他元素等,这时候我们可以使用slot功能,再结合uni-apprictText组件, 就能传入富文本内容了,如下演示:

<template>
  <view >
    <u-modal :show="show"  :title="title" >
      <view class="slot-content">
        <rich-text :nodes="content"></rich-text>
      </view>
    </u-modal>
    <u-button @click="show = true">打开</u-button>
  </view>
</template>
<script>
export default {
  data() {
    return {
      show:false,
      title:'标题',
      content:`空山新雨后<br>
          天气晚来秋`
    };
  }
};
</script>

copy

#异步关闭

异步关闭只对"确定"按钮起作用,需要设置asyncClosetrue,当点击确定按钮的时候,按钮的文字变成一个loading动画,此动画的颜色为 confirm-color参数的颜色,同时Modal不会自动关闭,需要手动设置通过show绑定的变量为false来实现手动关闭。

<template>
  <view class="">
    <u-modal :show="show" @confirm="confirm" ref="uModal" :asyncClose="true"></u-modal>
    <u-button @click="showModal">弹起Modal</u-button>
  </view>
</template>
<script>
export default {
    data() {
        return {
      show: false
    }
  },
  onLoad: function(opt) {
    
  },
  methods:{
    showModal() {
      this.show = true;
    },
    confirm() {
      setTimeout(() => {
        // 3秒后自动关闭
        this.show = false;
      }, 3000)
    }
    }
}
</script>

copy

#点击遮罩关闭

有时候我们不显示"关闭"按钮的时候,需要点击遮罩也可以关闭Modal,这时通过配置closeOnClickOverlaytrue即可(注意:关闭事件需要自行处理,只会在开启closeOnClickOverlay后点击遮罩层执行close回调)

<u-modal :show="show" :closeOnClickOverlay="true"></u-modal>

copy

#控制模态框宽度

可以通过设置width参数控制模态框的宽度,不支持百分比,可以数值,px,rpx单位

<u-modal v-model="show" width="300px"></u-modal>

copy

#缩放效果

开启缩放效果,在打开和收起模态框的时候,会带有缩放效果,具体效果请见示例,此效果默认开启,通过zoom参数配置

<u-modal v-model="show" :zoom="false"></u-modal>
相关文章
|
7月前
|
移动开发 JavaScript 小程序
uView Popup 弹出层
uView Popup 弹出层
120 0
|
1月前
|
前端开发 UED
React 模态框 Modal 组件详解
【10月更文挑战第27天】本文介绍了如何在 React 中实现一个功能完善的模态框组件。从基础概念入手,逐步讲解了简单的模态框实现、CSS 样式、传递子组件、键盘事件处理等高级功能。同时,还探讨了常见问题及易错点,如背景点击关闭、键盘事件冲突和动画效果。通过本文,读者可以全面了解 React 模态框组件的实现细节。
91 0
|
4月前
Vue3文本域(Textarea)
这是一个基于 Vue3 的可自定义文本域组件 (`Textarea`),具备多种实用功能,如自适应内容高度、清除图标、字数统计及禁用状态等。
201 2
Vue3文本域(Textarea)
|
4月前
Vue3走马灯(Carousel)
这是一个基于 Vue2 的走马灯(Carousel)组件,支持丰富的自定义配置。主要属性包括图片数组、宽度、高度、自动切换、暂停轮播、过渡效果、轮播间隔、箭头和指示点等。组件提供了多种过渡效果(如滑动和渐变)及动画时长设置,并允许自定义箭头和指示点的样式。此外,还支持通过键盘方向键进行切换,提供了灵活的使用方法。
151 2
Vue3走马灯(Carousel)
|
4月前
Vue3多选框(Checkbox)
这是一个可高度定制的多选框组件,支持多种属性设置,如复选元素数据、是否禁用、垂直排列、当前选中值、间距、展示区域宽高及全选样式控制等。提供了在线预览和示例代码,便于快速集成与自定义。
142 1
Vue3多选框(Checkbox)
|
4月前
|
JavaScript
Vue3抽屉(Drawer)
这是一个基于Vue的抽屉组件(Drawer),提供了丰富的自定义选项,如宽度、高度、标题、关闭按钮等,并支持顶部、右侧、底部和左侧四种方向。
149 0
Vue3抽屉(Drawer)
|
4月前
Vue2走马灯(Carousel)
这是一个基于 Vue2 的走马灯轮播组件(Carousel),支持鼠标移入暂停、移出后自动轮播。用户可以自定义设置轮播图片数组、滑动间隔时间、图片宽高。该组件提供了两种滑动效果实现方式:一种是通过 `setInterval` 延时调用,另一种是使用 `requestAnimationFrame()`,后者效果更佳。组件还支持图片懒加载,适用于多种应用场景。
258 0
Vue2走马灯(Carousel)
|
7月前
|
移动开发 小程序 JavaScript
uView Button 按钮
uView Button 按钮
136 2
|
7月前
|
移动开发 JavaScript 小程序
uView Tooltip 长按提示
uView Tooltip 长按提示
64 1
|
7月前
|
移动开发 小程序 JavaScript
uView Navbar 自定义导航栏
uView Navbar 自定义导航栏
273 0

热门文章

最新文章