Complete step record of vue encapsulation TabBar component

Complete step record of vue encapsulation TabBar component

Implementation ideas:

Step 1: Component encapsulation of TabBar and TabBarItem

At this point, you can find that the basic layout of the page has been implemented, but the active state of the item click has not been implemented.

Step 2: Pass the active image to TabBarItem

In order to prevent the replaced content from directly replacing the entire slot, so that the style defined on the slot is also affected by the replacement, it is best to define a div wrapper outside the slot

Step 3: The combination of TabBarItem and routing

Step 4: TabBarItem color control

It is basically completed, but it is found that the repeated click path in the route will result in an error

Cause of error:

This is because the callback format of vue-router ≥ 3.0 is changed to promise. If no error is caught, this kind of error warning will appear in the console.

Solution 1: Downgrade vue-router to version 3.0

Solution 2:

Rewrite the push and replace methods on the Router prototype chain so that you don't have to add a catch every time you call the method.

Write the following content in main.js:

import Router from 'vue-router'
 
const originalPush = Router.prototype.push
Router.prototype.push = function push(location, onResolve, onReject) {
  if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
  return originalPush.call(this, location).catch(err => err)
}

If the push modification still does not take effect, you can try the replace method, for example:

const originalReplace = Router.prototype.replace;
Router.prototype.replace = function replace(location) {
  return originalReplace.call(this, location).catch(err => err);
};

Implemented with font icons

Introducing font icons

use

Summarize

This is the end of this article about vue encapsulation of TabBar component. For more relevant vue encapsulation of TabBar component content, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Vue implements the method example of tab routing switching component
  • Encapsulation practice example of Vue.js mobile tab component
  • Detailed explanation of how to use the Vue component tabbar
  • Vue encapsulates a Tabbar component with component routing jump method

<<:  HTML table border control implementation code

>>:  4 flexible Scss compilation output styles

Recommend

IIS7 IIS8 reverse proxy rule writing, installation and configuration method

Purpose: Treat Station A as the secondary directo...

How to use vite to build vue3 application

1. Installation Tip: There is currently no offici...

WeChat applet implements search box function

This article example shares the specific code for...

HTML adaptive table method

<body style="scroll:no"> <tabl...

CocosCreator classic entry project flappybird

Table of contents Development Environment Game en...

8 tips for Vue that you will learn after reading it

1. Always use :key in v-for Using the key attribu...

Research on the Input Button Function of Type File

<br />When uploading on some websites, a [Se...

Use Javascript to develop sliding-nav navigation plug-in with sliding bar effect

Table of contents 1. Introduction 2. Usage 3. Dev...

Element Table table component multi-field (multi-column) sorting method

Table of contents need: Problems encountered: sol...

61 Things Every Web Developer Should Know

Normally, you'll need to read everyone's s...

Vue realizes adding watermark to uploaded pictures (upgraded version)

The vue project implements an upgraded version of...