无文档流后台web端日常开发经常会遇到各种弹出层需求,弹出层内容千奇百怪。根据我们日常的组件开发经验,我们会将弹出层分为2个组件。弹出层组件:包含遮罩,显示隐藏逻辑内容组件:这个需求的实际组件使用importCitySelectfrom'./components/CitySelect';从'@/components/modal'导入模态;...openCitySelect(){模态。popup({content:CitySelect,props:{data,onSave:()=>{...}}});}..这种用法的好处是很明显调用者和CitySelect不需要维护一个可见的变量。调用者和CitySelect模块之间的分离更加清晰。调用者只需要触发一次openCitySelect,之后与弹出层无关。CitySelect只关心它自己的逻辑不需要关心炸弹层的状态。下面看看这个api在vue和react上的实现。这个api在Vue下有很多种实现方式。可以使用dom操作、动态组件、render函数来实现。我们以动态组件为例:
