首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Material UI中制作箭头对话框

在Material UI中制作箭头对话框,可以使用Tooltip组件和Popover组件来实现。

首先,引入所需的组件和样式:

代码语言:txt
复制
import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
import Tooltip from '@material-ui/core/Tooltip';
import Popover from '@material-ui/core/Popover';

然后,创建一个样式对象:

代码语言:txt
复制
const useStyles = makeStyles((theme) => ({
  arrowBox: {
    position: 'relative',
    display: 'inline-block',
    margin: theme.spacing(2),
  },
  arrow: {
    position: 'absolute',
    width: 0,
    height: 0,
    borderLeft: '10px solid transparent',
    borderRight: '10px solid transparent',
    borderBottom: '10px solid #000',
    top: '-10px',
    left: '50%',
    transform: 'translateX(-50%)',
  },
  content: {
    padding: theme.spacing(2),
  },
}));

接下来,创建一个箭头对话框组件:

代码语言:txt
复制
const ArrowDialog = () => {
  const classes = useStyles();
  const [anchorEl, setAnchorEl] = React.useState(null);

  const handleClick = (event) => {
    setAnchorEl(event.currentTarget);
  };

  const handleClose = () => {
    setAnchorEl(null);
  };

  const open = Boolean(anchorEl);
  const id = open ? 'arrow-dialog' : undefined;

  return (
    <div className={classes.arrowBox}>
      <Tooltip title="点击显示对话框">
        <div onClick={handleClick}>
          <div className={classes.arrow}></div>
        </div>
      </Tooltip>
      <Popover
        id={id}
        open={open}
        anchorEl={anchorEl}
        onClose={handleClose}
        anchorOrigin={{
          vertical: 'bottom',
          horizontal: 'center',
        }}
        transformOrigin={{
          vertical: 'top',
          horizontal: 'center',
        }}
      >
        <div className={classes.content}>
          这是一个箭头对话框的内容。
        </div>
      </Popover>
    </div>
  );
};

最后,将箭头对话框组件添加到需要显示的位置:

代码语言:txt
复制
const App = () => {
  return (
    <div>
      <ArrowDialog />
    </div>
  );
};

以上代码使用了Material UI的Tooltip组件和Popover组件来创建一个带有箭头的对话框。点击箭头时,对话框会弹出显示内容。你可以根据需要自定义样式和内容。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Material Design — 提示框( Dialogs)

自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS的组件(顺便学学英语),以便今后在使用的时候完全不虚...对话框包含文本和UI控件。 他们保持视觉焦点直到被关闭或被完成了其中需要的行动。 谨慎使用对话,因为它们是打扰用户的。 分类 ·警告(Alerts)是紧急中断,通知有关情况并要求确认。...全屏提示框可用于满足以下标准的内容或任务: ·该提示框包含需要输入编辑器(IME)的组件(选择器或form fields),例如键盘 ·当没有实时保存更改时 ·当app没有草稿功能时(无法自动存到草稿...不要使用模糊的动作来确认动作,:完成,确定或关闭。...左:不要用“关闭”这样的词作为确认    右:离开时进行提示 导航 全屏幕对话框中使用的“X”不同于向返回箭头箭头能表示视图的状态实时被保存。

5K101

14.7K Star一套遵循谷歌设计规范的C#控件库

微信公众号:[开源日记],分享10k+Star的优质开源项目 MaterialDesignInXamlToolkit 是一个开源的、专为 WPF 应用程序设计的 UI 控件库,它允许开发者在 C# 或...VB.Net 项目中轻松实现 Google 的 Material Design 风格界面。...功能特点 1.控件和样式:为 WPF 框架的大多数主要控件提供 Material Design 风格的样式和变体。...2.额外控件:包含额外的控件,多动作按钮、卡片、对话框和时钟,以支持 Material Design 的美学和流程。...快速原型制作:提供快速构建和测试 Material Design 风格界面的能力。 跨平台开发:尽管主要针对 WPF,它所遵循的设计原则也可以为其他平台的开发提供灵感。

5810

Material Design — 按钮( Buttons)

自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS的组件(顺便学学英语),以便今后在使用的时候完全不虚...按钮( Buttons) Material Design链接:按钮 ?...可以在以下位置使用扁平按钮: ·在 toolbars上 ·在提示框,将按钮操作与对话框内容统一起来 ·Inline, with padding,因此用户可以轻松找到它们 ?...在下拉菜单滚动的方式与Menus滚动的方式相同。 ? ? 一般的下拉按钮 溢出下拉菜单按钮 这种类型的下拉菜单默认显示箭头或者菜单按钮。点击按钮后会弹出菜单。...点击菜单的任意一个选项将会引导到对应的设置页面。 分段式下拉菜单按钮 分段式下拉菜单按钮有两个区域: 当前状态和下拉箭头。点击当前状态会触发状态相应的动作。

3.8K160

2020年 16 个最有用的 Vue UI

Vuetify 是一个 Vue UI 库,包含手工制作的精美材料组件。不需要设计技能 - 创建令人惊叹的应用程序所需的一切都触手可及。...Vue Material 的目的是提供一组可重用的组件和一系列的UI元素,使用 Vue 2.0 建立支持 主流的浏览器 的应用。 ? 3....组件库,主要服务于 PC 界面的后台产品,其特性包括:高质量、功能丰富友好的 API ,自由灵活地使用空间,细致、漂亮的 UI,事无巨细的文档和可自定义主题。...KeenUI 使用 Vue 编写的基本轻量级 UI 组件库,并受 Material Design 的启发,虽然受 Material UI 规范的启发,但 Keen-UI 并不是真正的 Material...Muse UI是一个受Material Design启发的库,不仅包含我们所期望的所有核心Web组件,而且还包括一些移动组件,例如对话框,滑块和响应式刷新按钮。 ?

12.6K31

在 Flutter 使用 GetX 对话框

在 Flutter 使用 GetX 对话框 原文 medium.flutterdevs.com/dialog-usin… 参考 pub.dev/packages/ge… 正文 了解如何在您的 Flutter...当 Flutter 开发人员在 Flutter 制作一个对话框时,它利用上下文和生成器制作一个对话框。然而,对于开发人员来说,利用上下文和构建器来培养 Dialogs 是不合适的。...演示模块: 这个演示视频展示了如何在 Flutter 创建一个对话框,并展示了如何使用您的 Flutter 应用程序的 get 包来工作,以及使用不同的属性。它会显示在你的设备上。...Final Output 最终输出 全部代码: import 'package:flutter/material.dart'; import 'package:flutter_dialog_getx_demo...使用 GetX 插件制作一个工作对话框的演示程序。在本博客,我们已经研究了 flutter 应用程序的使用 GetX 的对话框。我希望这个博客能帮助你更好地理解这个对话框。所以请尝试一下。----

10510

不懂设计的产品不是好开发

然而,Material指南允许我们定制UI组件的颜色,以增加应用程序的品牌辨识度,并使设计师同事们感到高兴。例如,我们可以选择卡片的颜色作为primary color,以更加强调品牌。...在演示应用程序,我们有一个饼状图,其中我们需要在每个部分使用不同的颜色。另一个例子是用颜色作为不同状态的视觉指标,警报级别、金额变化或性能变化(减少/增加)。...每个UI组件都默认使用其中一种样式。 Headlines是大型文本,范围从1到6。标题6是最小的标题,用于应用栏和对话框的标题。Headline5用于对话框的大文本。...Button文本样式与动作相关,用于按钮、标签、对话框和卡片。...在演示的应用程序,我几乎把所有的UI组件都应用了形状,以达到演示的目的,这绝对是不推荐的。 截至目前,Material Design有两种形状样式:圆角和切角。

2.5K20

excel常用操作大全

如果您在原始证书编号后添加19,请在B1单元格写入:=A1 '13 ',然后按回车键。 2.如何在文件下拉窗口底部设置最近运行的文件名数量?...4.使用Excel制作多页表单时,如何制作一个类似Word表单的标题,即每页的第一行(或几行)是相同的。但不是用头吗?...6.在Excel2000制作的工资表,只有第一个人有工资表的表头(编号、姓名、岗位工资.),并希望以工资单的形式输出它。怎么做?...具体方法是: 选择单元格格,按下Shift键,将鼠标指针移动到单元格格的左上角边缘,直到出现一个拖放指针箭头(十字箭头),然后按下鼠标左键进行拖放。...选择“工具”\“选项”命令,选择“常规”项目,并使用上下箭头在“新工作簿的工作表数量”对话框更改新工作表的数量。一个工作簿最多可以包含255个工作表,系统默认值为6。

19.1K10

『Flutter』常用组件 按钮、图片

IconButton:这是一个图标按钮,常用于工具栏和对话框。它可以包含图标而不是文本,适用于空间有限或需要图形化表示的地方。...FloatingActionButton:这是一个圆形的按钮,通常悬浮在内容上方,用于促进应用的主要动作,添加、编辑等。...它常用于应用的工具栏,提供额外的选项。 InkWell:虽然不是一个标准的按钮组件,但它可以用来给几乎任何widget添加水波纹效果,从而制作自定义按钮。...当 TextButton 被点击时,onPressed 会被触发 当 TextButton 被长按时,onLongPress 会被触发 4.Icon Flutter 的 Icon 组件用于显示 Material...这对于一些图标(箭头)非常重要,其方向可能会因语言的阅读方向(从左到右或从右到左)而改变。

31531

Flutter 实现刮刮卡效果

对于普通用户来说,这简直就是彩票,无论如何,您是否会说您是一位被UI惊呆了并且需要在您的应用程序实现等效功能的应用程序开发人员?届时,您将是一个完美的选择。...在这个博客,我们将探讨 Flutter 刮刮卡 效果。我们将了解如何在flutter应用程序中使用scratcher包实现刮板卡。...目录 刮刮卡 属性 引入 如何在dart文件实现代码 代码文件 结论 刮刮卡 刮刮卡是您在不同的购物应用程序和支付应用程序上可以看到的著名事物之一。这些刮刮卡用于为用户提供奖品和现金返还。...该演示视频演示了如何在Flutter创建刮刮卡。它显示了刮卡将如何工作使用scratcher在Flutter应用程序包。它显示打开的对话框,然后显示刮刮卡,您将获得收入。它会显示在您的设备上。...运行应用程序时,我们应该获得屏幕输出,屏幕下方的捕获。

5.1K20

PyQt5 GUI应用程序工具包入门(3)—信号槽

具体方法为:由一个事件(:单击控件)触发信号,槽函数接收到信号便自动执行。...QtDesigner定义 定义内置信号槽 图1 QtDesigner的信号槽定义 图1,蓝色箭头的窗口中显示已有的信号槽,由于现在我们还没编辑任何信号槽,故此窗口中没有任何信号槽的定义。...单击图1红色箭头所指的按钮即可进入信号槽编辑模式。即可定义信号槽。...然后在图3所示的信号槽配置连接对话框单击“编辑”即进入如图5所示的自定义信号槽对话框。单击+号即可增加一个槽函数。然后在生成之后,在代码定义相应的函数。...(Form.close) 书写自定义函数时,只需在Ui_Form类,定义一个自定义函数即可。

1.6K50

9个值得推荐的 VUE3 UI 框架

BalmUI 发展非常迅速,如果想使用 Material Design 风格,使用复杂的内置指令( debouncing 和 UI 波纹)在创建自定义组件时能派上用场,那么它非常适合 Vue3 项目。...Element+ Element+ 已经在 Vue2 声名鹊起,Element+ 为 Vue3 带来了大量不引人注目的组件,创建一个非常复杂的应用程序所需的大部分内容都已经制作完成并可供使用。...现在,Naive UI 在不到三个月的时间里就在 GitHub 上获得了5.1k 颗星。 它提供了70多个制作精良的组件,这些组件可以无缝地融入几乎任何类型的 Vue3应用。...这个定制的主题可以下载并轻松添加到应用程序以覆盖默认值。...Quasar 框架似乎是基于 Material Design,但是一旦开始,一切都可以很好地定制以适应自己的设计体系。

4.4K30
领券