ReactAnt Design 5.0 构建通用后台管理系统界面

Posted EvilChan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ReactAnt Design 5.0 构建通用后台管理系统界面相关的知识,希望对你有一定的参考价值。

涉及依赖

  • react-router-dom

src/router/index.tsx

import  IndexRouteObject, NonIndexRouteObject  from \'react-router-dom\'

// 重写react-router-dom的RouteObject
export type RouteObject = CustomIndexRouteObject | CustomNonIndexRouteObject

// 添加路由元信息meta, 路由标题,图标等,都可以放在这
interface CustomIndexRouteObject extends IndexRouteObject 
  meta?: Record<string, unknown>


// 添加路由元信息meta, 路由标题,图标等,都可以放在这
interface CustomNonIndexRouteObject extends NonIndexRouteObject 
  meta?: Record<string, unknown>
  children?: RouteObject[]


const routes: RouteObject[] = [
  
    path: \'/\',
    element: <div>首页</div>,
    meta: 
      title: \'首页\',
    ,
  ,
  
    path: \'system\',
    element: <div>系统管理</div>,
    meta: 
      title: \'系统管理\',
    ,
  ,
]

export default routes

App.tsx

import  BrowserRouter, Link, Outlet, Route, Routes  from \'react-router-dom\'
import routes,  RouteObject  from \'./router\'

function App() 
  // 路由对象转标签
  const convert = (route: RouteObject) => 
    if (Array.isArray(route.children)) 
      return (
        <Route key=route.path path=route.path element=route.element>
          route.children.map((item) => convert(item))
        </Route>
      )
     else 
      return (
        <Route key=route.path path=route.path element=route.element />
      )
    
  

  return (
    <BrowserRouter>
      <Routes>
        <Route
          path="/"
          element=
            <div>
              <Link to=\'/\'>首页</Link>
              <Link to=\'/system\'>系统管理</Link>
              <Outlet />
            </div>
          
        >
          routes.map((route) => convert(route))
        </Route>
      </Routes>
    </BrowserRouter>
  )


export default App

现在在界面应该就能看到首页和系统管理的文本链接,点击后能显示对应的内容,浏览器并无跳转。后期会联合Antd Menu的属性对路由对象进行改进。

Material Design 向后兼容性

【中文标题】Material Design 向后兼容性【英文标题】:Material Design backward compatibility 【发布时间】:2014-08-18 03:52:49 【问题描述】:

从 Android 开发者页面上提供的示例中,我看到新视图,如 RecyclerView,向后兼容 (android.support.v7.widget.RecyclerView)。

Material Design 中引入的所有新东西都向后兼容(到哪个版本)?

【问题讨论】:

还没有.. 它们包含在支持库中,但目前除了 L 之外什么都不能使用。 Link to a discussion about this. 【参考方案1】:

将此答案更新为 Lollipop 操作系统已正式发布支持库,您可以在项目中使用这些支持库来提供与旧版本的兼容性。

支持库: v7 appcompat library

这个库增加了对 Action Bar 用户界面设计模式的支持。该库包括对材料设计用户界面实现的支持。

如果您使用的是 Android Studio,那么您只需要包含以下依赖项标识符:

com.android.support:appcompat-v7:21.0.+

【讨论】:

那么您将如何确保 API 兼容性?取自您提供的文档链接:“为了保持与早期版本的 Android 的兼容性,请在调用这些 API 之前在运行时检查系统版本。”从您的角度来看,这是否意味着在调用 API 之前以编程方式进行检查?听起来像是两次(或更多)的工作,以确保在多个操作系统中的流畅体验...... @Jean-PhilippeMurray 是的,您需要单独的资源目录以及运行时检查if (Build.VERSION.SDK_INT &gt;= 21) @Jean-PhilippeMurray 当然,您必须注意 API 级别的差异。这就是 Android 开发的一半乐趣。新主题只会增添更多乐趣和刺激。等不及了! ^ 我不知道@GlennBech 是在挑衅还是在认真;)一点也不好玩。 :p 自 Lollipop 发布以来,此答案已被弃用。【参考方案2】:

从 Android 2.2 (API 8) 到现在的 5.0 (API 21) 的材料设计

这是你需要的:

    工具栏 小部件的材料设计库(按钮、复选框等

1。工具栏

只要得到这个想法,你就可以开始了。

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_
    android:layout_
    android:background="?attr/colorPrimaryDark"/>

设置指南:http://antonioleiva.com/material-design-everywhere/

示例来源:https://github.com/antoniolg/MaterialEverywhere

要使 Toolbar 工作在较低的 API 11 中,请使用 Theme.AppCompat.Light.NoActionBar将 windowActionBar 设置为 false em>)

<style name="NoActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar">
     ...
</style>

2。材料设计库

这里是 Material Design Library,用于漂亮的按钮等。

指南、代码、示例 - https://github.com/navasmdc/MaterialDesignLibrary

指导如何将库添加到 Android Studio 1.0 - How do I import material design library to Android Studio?

.

编码愉快 ;)

【讨论】:

这是一个更好更有用的答案;不确定当更好的答案出现时是否可以更改已接受的答案。【参考方案3】:

官方Material Design 倒退到v7 appcompat Support Library。

【讨论】:

【参考方案4】:

只是为了补充 Paresh 的答案,并非 Material Design 的所有功能都在旧版本中可用。自定义主题和活动转换仅适用于 API > 21,但正如其他人提到的,支持库中提供了一些功能。

https://developer.android.com/training/material/compatibility.html

【讨论】:

【参考方案5】:

API 从版本 22 开始包含。您需要将此依赖项包含到 gradle 依赖项中:

com.android.support:design:22.2.0

【讨论】:

【参考方案6】:

I/O 2015 中引入的 Google 设计支持库

http://android-developers.blogspot.gr/2015/05/android-design-support-library.html

你会在那里找到很多材料设计的好东西。

导航视图 小吃店 浮动操作按钮 CoordinatorLayout、运动和滚动(最好的部分包括视差效果和固定工具栏)

还有更多...

【讨论】:

以上是关于ReactAnt Design 5.0 构建通用后台管理系统界面的主要内容,如果未能解决你的问题,请参考以下文章

开源Reactant: 一个渐进式React的框架

Vue笔记-Ant Design Vue构建前端连接后端WebSocket

java规则引擎drools6.5.0中kie的概论

使用 DrawerLayout 实现 Material Design风格的侧滑

如何创建一个向后兼容iOS 5.0的新Xcode 5项目? - 错过故事板错误

thinkPHP输出sql语句(3.2和5.0通用)