Socket
Socket
Sign inDemoInstall

modal-upgrade

Package Overview
Dependencies
0
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    modal-upgrade

微信小程序弹框组件,支持全屏展示与各种自定义


Version published
Weekly downloads
0
Maintainers
1
Install size
23.2 kB
Created
Weekly downloads
 

Readme

Source

Modal 微信小程序对话框组件

install

npm i  modal-upgrade
npm init -y
详情->本地设置->开启es6转es5、增强编译

Describe

此组件仅适用于微信小程序,其功能为弹出框,可自定义内容支持html内容嵌入,并可以作为弹出层,自动消失,与手动关闭弹框,带有数据携带的能力,可检测显示回调与点击确定与取消回调,以及自定义标题内容与底部,并支持异步提交。

API

:label: Modal props

属性说明类型默认值
id组件唯一标识,用于获取当前组件String-

:label: Modal property

属性说明类型默认值
title对话框标题,使用custom自定义模式,则title无效String-
content对话框内容,使用custom自定义模式,则content无效String-
confirmColor确定按钮颜色String#FFF
cancelColor取消按钮颜色String#999999
submitBackground确定按钮背景颜色Stringlinear-gradient(300deg,rgba(81,166,255,1) 0%,rgba(167,218,255,1) 100%)
cancelBackground取消按钮背景颜色String#FFF
showCancel是否显示取消按钮Booleantrue
data对话框传入参数,扩展参数Number | String | Object | Boolean | Array-
showFooter显示底部Booleantrue
showSubmit是否显示确定按钮Booleantrue
backgroundColor对话框背景颜色String#FFF
file启动全屏模式Booleanfalse
type内容类型 text | array | custom | conterHtml;
text为纯文本显示内容;
array为列显示状态,详细使用见下方案例<启用type为array类型模式>;
custom为自定义模式采用slot插槽自定义;conterHtml启动内容html自定义专区;
Stringtext
textCenter内容对齐方式Stringcenter
timer自动消失时间String-
cancelText取消按钮文字String取消
submitText确定按钮文字String确定
conterHtml自定义html内容专区Html-
shade开启遮罩层Booleantrue
zIndex弹框显示层级String1102
asyncEsl开启异步加载确定按钮变成loading;
详细使用见下方案例<启用异步模式>;
success函数中的loadingSync用来异步关闭弹窗。
Booleanfalse
loadingColor异步加载loading颜色Stringwhite
loadingSize异步加载loading大小String | Number40
btnHeight按钮高度String | Number88

:label: Modal slot

名称说明
-插入组件标签内部,进行自定义内容区域

:label: Modal methods

方法名说明参数
showSuccess对话框展示时的回调函数params(Object):
说明:Object为props内的data数据
success对话框点击取消或确认回调函数params(Object):
confirm:点击了确定按钮
cancel:点击了取消按钮
data:props内的data扩展数据
hidden对话框隐藏-
watch对传入的data扩展参数进行监听,可监听设置data事件parms(Object)
target:当前设置的属性
key:当前修改的key值
value:新设置的值

Modal step

  • 在app.json或page.json中注册组件
{
  "usingComponents": {
    "view-modal-upgrade": "/miniprogram_npm/modal-upgrade/index"
  }
}
  • page页面使用组件
<view-modal-upgrade id='review'></view-modal-upgrade>
  • Js中创建组件实例
let model = this.selectComponent('#review');
  • 使用对话框
model.showModel({
    title:"使用案例1",
    content:"此内容为使用案例",
    confirmColor:'white',
    cancelColor:'black',
    showCancel:true,
    data:{
        name:"name",
        age:"age",
        text:"text"
    },
    showFooter:true,
    showSubmit:true,
    file:false,
    type:"text",
    textCenter:"center",
    timer:"60",
    showSuccess:function(data){
    	console.log(data)
    },
    watch:function(target,key,value){
    	console.log(target,key,value)	
    },
    success:function(data){
        if(data.confirm){
            console.log(data)
        }else{
            console.log(data)
        }
    }    
})
Modal special {#1}
  • 启用slot插槽,启用自定义模式
model.showModel({
  type:'custom',
  showFooter:false,
  data:{
      data1:"data1",
      data2:"data2"
  },
  showSuccess:function(data){
    	console.log(data)
  },
  success:function(data){
     console.log(data) 
  }      
})
<view-modal-upgrade id='review'>
    <view>  自定义内容  </view>
</view-modal-upgrade>
  • 启用内容html自定义专区
model.showModel({
  type:'conterHtml',
  conterHtml:"<p>启动html自定义专区</p>", 
  showFooter:false,
  data:{
      data1:"data1",
      data2:"data2"
  },
  showSuccess:function(data){
    	console.log(data)
  },
  success:function(data){
     console.log(data) 
  }      
})
  • 启用异步模式
   model.showModel({
      title:"使用异步loading加载模式",
      content:"使用异步loading加载内容",
      asyncEsl:true,
      loadingColor:"white",
      loadingSize:"40",
      showSuccess:function(data){
        // console.log(data)
      },
      success:function(data){
          if(data.confirm){
              setTimeout(() => {
                  //接口请求成功请设置loadingSync为true
                  data.loadingSync = true
              }, 3000);
          }else{
              console.log(data)
          }
      }
  })
  • 启用type为array类型模式
 model.showModel({
      title:"Array内容模式",
      content:[{name:"左侧1",value:"右侧1"},{name:"左侧2",value:"右侧2"}],
      type:"array",
      showSuccess:function(data){
        // console.log(data)
      },
      success:function(data){
          // console.log(data)
      }
  })
  • 手动调用方法
//手动调用模态框隐藏函数
model.hidden()
//手动调用 确定按钮事件 
model.yes()
//手动调用 取消按钮事件 
model.no()

Keywords

FAQs

Last updated on 01 Mar 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc