根据开始时间和结束时间形成的公告弹窗,右下角

<div>
<el-dialog  
    v-for="item in filteredMessages" //循环数据
    :key="item.id"  
    @close="whh(item)"
    :visible="item.visible" //显示true还是false
     :title="item.title"  //标题
     class="fixed-bottom-right-ad"
     width="30%">  
      <p v-html="item.noticeContent"></p>  //内容
      <span slot="footer" class="dialog-footer">
        <el-button @click="item.visible = false">取 消</el-button>
        <el-button type="primary" @click="item.visible = false">确 定</el-button>
      </span>
    </el-dialog>

</div>
computed: {  
    // 使用计算属性来过滤出当前时间未超过结束时间的消息  
     filteredMessages() {         
        const now = new Date();   
        return this.noticeTable.filter(item => item.endTime > now);  
     } 
},
methods:{
  getnotice(){
      getnoticelist().then(response => {
        if(response.code == 200){
          this.noticeTable = response.rows//获取公告数据
          this.fetchMessages();//遍历循环数据
        }
      })
    },
    fetchMessages() { 
        this.noticeTable.forEach(item => {  
          if(item.startTime || item.endTime){//判断遍历的数据是否有开始时间和结束时间
            // 将每个日期字符串转换成Date对象,然后获取时间戳  
            item.startTime = new Date(item.startTime).getTime();  
            item.endTime = new Date(item.endTime).getTime();
            item.visible = false
            const now = new Date().getTime(); // 当前时间,UNIX时间戳  
            if (now >= item.startTime && now <= item.endTime) {  
              item.visible = true; // 如果当前时间在开始时间和结束时间之间,显示弹窗  
            } else {  
              item.visible = false; // 否则,隐藏弹窗  
            }  
          }
        
        });  
    },  
  whh(u){//点击取消
      u.visible = false
    },
}
/* 使用深度选择器来覆盖el-dialog的默认样式 */  
.fixed-bottom-right-ad ::v-deep .el-dialog {  
  /* 移除默认的margin和transform(如果有的话) */  
  margin: 0 !important;  
  transform: none !important;  
  /* 设置为固定定位 */  
  position: fixed;  
  bottom: 20px; /* 距离底部的位置 */  
  left: 70%;
  /* 覆盖其他可能需要的样式 */  
  border-radius: 8px;  
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);  
  // z-index: 1000; /* 确保弹窗在顶层 */  
} 
.fixed-bottom-right-ad{
  width: 5px !important;
  height: 10px !important;
  margin: 0 !important;  
  transform: none !important;  
  /* 设置为固定定位 */  
  position: fixed;  
  top: 80%;
  left: 70%;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WinForms是一种用于开发Windows桌面应用程序的技术,它提供了一套丰富的控件和功能,可以创建用户友好的界面。右下角弹窗是指在应用程序界面的右下角弹出一个小窗口,用于显示一些通知、提醒或其他相关信息。 要实现右下角弹窗,可以通过以下步骤进行: 1. 创建一个名为"PopupForm"的新窗体。在该窗体中,设置窗体的大小、位置和样式,使其位于屏幕的右下角。可以使用WinForms中的Size、Location、TopMost等属性进行设置。 2. 为PopupForm窗体添加控件。可以根据需求添加Label、PictureBox等控件,用于显示标题、内容和图标。 3. 设置PopupForm窗体的动画效果。可以使用Timer控件实现窗体的弹出和隐藏过程。例如,在Timer的Tick事件中,逐渐改变窗体的位置和透明度,实现窗体的渐入和渐出效果。 4. 在主窗体中,触发弹窗显示的事件。例如,在某个按钮的Click事件中,创建PopupForm实例,并调用Show方法显示弹窗。 通过以上步骤,就可以实现一个简单的WinForms右下角弹窗。可以根据实际需求进行调整和扩展,例如添加关闭按钮、设置持续显示时间等功能。另外,为了确保弹窗在屏幕大小改变时仍然位于右下角,可以订阅屏幕大小变化事件,并在事件处理程序中更新弹窗的位置。 总之,WinForms提供了丰富的功能和控件,可以方便地实现各种界面效果,包括右下角弹窗。通过合理设置窗体属性和控件布局,结合动画效果和事件处理,可以创建出漂亮、实用的弹窗界面。 ### 回答2: WinForm右下角弹窗右下角提示框)是一种常见的界面提示方式,它通过在屏幕右下角弹出一个小窗口来显示提示信息。可以通过以下步骤实现: 1. 创建一个新的WinForm应用程序项目。 2. 在设计视图中,将一个Panel控件添加到窗体上,并设置其Dock属性为Bottom,即使得它位于窗体的底部。 3. 设置Panel的高度和背景颜色,以实现一个看起来像弹窗的效果。 4. 在Panel控件中,添加一个Label控件,用于显示提示信息。 5. 按需设置Label控件的字体、字号、对齐方式等属性,并设置AutoEllipsis属性为true,以避免提示信息过长导致显示不全。 6. 添加一个Timer控件,并设置其Interval属性为适当的毫秒数,控制弹窗显示的时长。 7. 双击Timer控件,编写其Tick事件处理程序,在事件处理程序中将Panel控件隐藏(隐藏弹窗)。 8. 在需要显示弹窗的时候,通过设置Panel控件的Visible属性为true,并使用Timer控件启动。 9. 可以自定义一些方法或属性,通过调用这些方法或设置这些属性来动态修改提示信息,以实现更加灵活的弹窗。 通过上述步骤,我们可以实现一个简单的WinForm右下角弹窗。当需要提示用户一些重要信息时,通过显示这个弹窗,可以有效吸引用户的注意力,提高用户体验。同时,通过自定义弹窗的外观和行为,可以满足不同场景下的需求,增加程序的可定制性。 ### 回答3: 在WinForm中实现右下角弹窗,一种常见的方法是借助NotifyIcon和ToolTip组件配合使用。 首先,在工具箱中找到NotifyIcon组件,并将其拖放到窗体上。然后,在属性窗口中设置NotifyIcon的属性,包括Icon(用于显示在任务栏的图标)、BalloonTipIcon(气泡提示图标)和BalloonTipText(气泡提示内容)等。 接下来,在需要弹出右下角提示的事件中,可以通过调用NotifyIcon的ShowBalloonTip方法来显示气泡提示。例如,可以在某个按钮的Click事件中添加以下代码: private void button1_Click(object sender, EventArgs e) { notifyIcon1.ShowBalloonTip(5000, "提示", "这是一个右下角弹窗示例", ToolTipIcon.Info); } 上述代码中,第一个参数表示气泡提示显示的时间(单位为毫秒),第二个参数为气泡提示的标题,第三个参数为气泡提示的内容,第四个参数用于设置气泡提示的图标。 最后,为了在用户关闭弹窗时触发相应的事件,可以为NotifyIcon的BalloonTipClosed事件添加处理逻辑。例如,可以在窗体的Load事件中添加以下代码: private void Form1_Load(object sender, EventArgs e) { notifyIcon1.BalloonTipClosed += NotifyIcon1_BalloonTipClosed; } private void NotifyIcon1_BalloonTipClosed(object sender, EventArgs e) { // 在这里编写提示关闭后的处理逻辑 } 这样就可以实现一个简单的WinForm右下角弹窗
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值