中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ant design vue實現導航菜單與路由配置

發布時間:2020-10-29 14:59:10 來源:億速云 閱讀:2480 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關ant design vue實現導航菜單與路由配置,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

此功能包含:

1.根據動態路由自動展開與自動選擇對應路由所在頁面菜單

2.只展開一個子菜單

3.兄弟組件控制菜單與路由

<a-menu
:openKeys="openKeys"
:selectedKeys="selectedKeys"
mode="inline"
theme="dark"
:inlineCollapsed="$store.state.isCollapse"
@click='select'
@openChange='openChange'
>
<a-sub-menu v-for="item in menu" :key="item.name" :index="item.title">
<span slot="title"
><a-icon :type="item.icon" /><span>{{ item.title }}</span></span
>
<a-menu-item
v-for="subItem in item.submenu"
:key="subItem.index"
:index="subItem.index"
>
<router-link :to="subItem.path">
{{ subItem.text }}
</router-link>
</a-menu-item>
</a-sub-menu>
</a-menu>

菜單欄路由配置:

{
     title: 'Dashboard',
     name: '/dashboard',
     icon: 'dashboard',
     submenu: [
      { text: '分析頁', path: '/dashboard/analysis', index: '/analysis' },
      { text: '監控頁', path: '/dashboard/monitor', index: '/monitor' }
     ]
    }

默認開啟的子菜單及選中項配置

openKeys: [this.$route.path.substr(0, this.$route.path.lastIndexOf('/'))],
selectedKeys: [this.$route.path.substr(this.$route.path.lastIndexOf('/'))],
rootSubmenuKeys: ['/dashboard', '/form', '/table', '/user'], // 有幾個子菜單項就貼幾個

功能代碼:

methods: {
  openChange (openKeys) { // 只展開一個子菜單
   const latestOpenKey = openKeys.find(key => this.openKeys.indexOf(key) === -1)
   if (this.rootSubmenuKeys.indexOf(latestOpenKey) === -1) {
    this.openKeys = openKeys
   } else {
    this.openKeys = latestOpenKey &#63; [latestOpenKey] : []
   }
  },
  select ({ item, key, selectedKeys }) { // 選中項
   this.selectedKeys = [key]
  }
 },
 created () {
  this.$bus.$on('goperson', (url) => { // 組件間通信設置菜單欄狀態 此處功能可查看另一篇博客
   this.openKeys = [ url.substr(0, url.lastIndexOf('/')) ]
   this.selectedKeys = [ url.substr(url.lastIndexOf('/')) ]
  })
 }

補充知識:Ant Design Pro 側邊菜單欄 + 路由Router

1、 首先找到 menu.js

ant design vue實現導航菜單與路由配置

{
    name: '新添加的表單',
    path: 'new-basic-form',
},

添加從30行-33行代碼,然后在你的側邊欄就是多出來一個 “新添加的表單”

ant design vue實現導航菜單與路由配置

但是當你點擊的時候,你會發現右邊 Main 是404,因為我們還需要配置一下router (代表當我點擊“新添加的表單”這個彩蛋的時候,右邊需要顯示的頁面是什么)

2、點擊router.JS 在表單頁下面 children 添加30行-44行

ant design vue實現導航菜單與路由配置

'/form/new-basic-form': {
   component: dynamicWrapper(app, ['form'], () => import('../routes/Forms/newBasicForm')),
 },

ant design vue實現導航菜單與路由配置

因為鏈接的是newBasicForm 就需要創建一個newBasicForm.JS

在routes——》Forms——》下創建newBasicForm.js

newBasicForm.js里面的代碼為:
import React, { PureComponent } from 'react';
import { connect } from 'dva';
import {
 Form,
 Input,
 DatePicker,
 Select,
 Button,
 Card,
 InputNumber,
 Radio,
 Icon,
 Checkbox,
 Tooltip,
} from 'antd';
import PageHeaderLayout from '../../layouts/PageHeaderLayout';
import styles from './style.less';
const FormItem = Form.Item; 

@Form.create()
export default class newBasicForms extends PureComponent {
 handleSubmit = e => {
  e.preventDefault();
  this.props.form.validateFieldsAndScroll((err, values) => {
   if (!err) {
    this.props.dispatch({
     type: 'form/submitRegularForm',
     payload: values,
    });
   }
  });
 };

 render() {
  const { getFieldDecorator, getFieldValue } = this.props.form;

  const formItemLayout = {
   labelCol: {
    xs: { span: 24 },
    sm: { span: 7 },
   },
   wrapperCol: {
    xs: { span: 24 },
    sm: { span: 12 },
    md: { span: 10 },
   },
  };

   return (
    //  這個個組件 自帶頭
    <PageHeaderLayout
    title="new-基礎表單"
    content="表單頁用于向用戶收集或驗證信息,基礎表單常見于數據項較少的表單場景。"
    >
    <Card bordered={false}>
      <p>你好我叫劉國富</p>
      <Form onSubmit={this.handleSubmit} hideRequiredMark style={{ marginTop: 8 }}>
      <FormItem {...formItemLayout} label="標題">
       {getFieldDecorator('title', {
        rules: [
         {
          required: true,
          message: '請輸入標題',
         },
        ],
       })(<Input placeholder="給目標起個名字" />)}
      </FormItem>
      </Form>
    </Card>
    </PageHeaderLayout>

   );
  }
 }

當點擊新添加的表單,右邊則顯示為:你好我叫劉國富。

ant design vue實現導航菜單與路由配置

上述就是小編為大家分享的ant design vue實現導航菜單與路由配置了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高青县| 闻喜县| 怀宁县| 花垣县| 石棉县| 盐津县| 松溪县| 冀州市| 会同县| 佛教| 永新县| 个旧市| 昆山市| 册亨县| 依兰县| 济阳县| 九龙县| 资中县| 西乡县| 凤翔县| 陇川县| 保山市| 筠连县| 宣城市| 洪洞县| 湄潭县| 桂东县| 卓资县| 赤水市| 黑龙江省| 襄垣县| 芦山县| 亳州市| 福泉市| 金坛市| 黄龙县| 微山县| 漾濞| 平潭县| 文昌市| 汉沽区|