1.2.1 • Published 3 years ago

modal-upgrade v1.2.1

Weekly downloads
35
License
ISC
Repository
-
Last release
3 years ago

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()
1.2.1

3 years ago

1.2.0

3 years ago

1.1.8

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago