欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ant design vue導(dǎo)航菜單與路由配置操作

 更新時間:2020年10月28日 15:36:56   作者:溫九月  
這篇文章主要介紹了ant design vue導(dǎo)航菜單與路由配置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

此功能包含:

1.根據(jù)動態(tài)路由自動展開與自動選擇對應(yīng)路由所在頁面菜單

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: '監(jiān)控頁', 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 ? [latestOpenKey] : []
   }
  },
  select ({ item, key, selectedKeys }) { // 選中項
   this.selectedKeys = [key]
  }
 },
 created () {
  this.$bus.$on('goperson', (url) => { // 組件間通信設(shè)置菜單欄狀態(tài) 此處功能可查看另一篇博客
   this.openKeys = [ url.substr(0, url.lastIndexOf('/')) ]
   this.selectedKeys = [ url.substr(url.lastIndexOf('/')) ]
  })
 }

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

1、 首先找到 menu.js

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

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

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

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

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

因為鏈接的是newBasicForm 就需要創(chuàng)建一個newBasicForm.JS

在routes——》Forms——》下創(chuàng)建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-基礎(chǔ)表單"
    content="表單頁用于向用戶收集或驗證信息,基礎(chǔ)表單常見于數(shù)據(jù)項較少的表單場景。"
    >
    <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導(dǎo)航菜單與路由配置操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用vuex存儲用戶信息到localStorage的實例

    使用vuex存儲用戶信息到localStorage的實例

    今天小編就為大家分享一篇使用vuex存儲用戶信息到localStorage的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue項目啟動后沒有局域網(wǎng)地址問題

    vue項目啟動后沒有局域網(wǎng)地址問題

    這篇文章主要介紹了vue項目啟動后沒有局域網(wǎng)地址問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Vue編譯器源碼分析compileToFunctions作用詳解

    Vue編譯器源碼分析compileToFunctions作用詳解

    這篇文章主要為大家介紹了Vue編譯器源碼分析compileToFunctions作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Vue2.2.0+新特性整理及注意事項

    Vue2.2.0+新特性整理及注意事項

    本文是小編精心給大家收藏整理的關(guān)于Vue2.2.0+新特性,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • Vue 實時監(jiān)聽窗口變化 windowresize的兩種方法

    Vue 實時監(jiān)聽窗口變化 windowresize的兩種方法

    這篇文章主要介紹了Vue 實時監(jiān)聽窗口變化 windowresize的兩種方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • Vue中TypeScript和Pinia使用方法

    Vue中TypeScript和Pinia使用方法

    這篇文章主要介紹了Vue中TypeScript和Pinia使用方法,讓我們來看一個簡單的示例來演示TypeScript 和 Pinia的強大之處,需要的朋友可以參考下
    2023-07-07
  • vue 過濾器和自定義指令的使用

    vue 過濾器和自定義指令的使用

    本文主要介紹Vue.js中過濾器和自定義指令相關(guān)的知識點,包括過濾器的定義方式,和使用方法,以及自定義指令的概念和注冊方式。
    2021-05-05
  • Vue項目中使用setTimeout存在的潛在問題及解決

    Vue項目中使用setTimeout存在的潛在問題及解決

    這篇文章主要介紹了Vue項目中使用setTimeout存在的潛在問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue.js 圖標選擇組件實踐詳解

    Vue.js 圖標選擇組件實踐詳解

    這篇文章主要介紹了Vue.js 圖標選擇組件實踐詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • vue3 el-select懶加載以及自定義指令方式

    vue3 el-select懶加載以及自定義指令方式

    這篇文章主要介紹了vue3 el-select懶加載以及自定義指令方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評論