Component({ options: { multipleSlots: true }, properties: { show:{ type: Boolean, observer: function (newVal){ this.setData({ show: newVal, showAnimation:newVal }); } }, height:{ type: String, observer: function (newVal){ if (newVal) { this.setData({ height: newVal }); } } }, FixHeight:{ type: String, observer: function (newVal){ if (newVal) { this.setData({ FixHeight: newVal }); } } } }, data: { show:false, showAnimation:false, height:'100%', minHeight:'0' }, methods: { close(){ this.setData({showAnimation:false}) setTimeout(() => { this.setData({ show: false }); this.triggerEvent("close", this.data.show); }, 300); } } })