vant/docs/markdown/advanced-usage.en-US.md
2021-04-19 20:10:43 +08:00

2.3 KiB
Raw Blame History

Advanced Usage

Intro

Through this chapter, you can learn about some advanced usages of Vant.

Component Usage

Component Registration

Vant supports multiple ways to register components:

Global Registration

import Vue from 'vue';
import { Button } from 'vant';

// Method 1. via Vue.use
Vue.use(Button);

// Method 2. Register via Vue.component
Vue.component(Button.name, Button);

Local Registration

import { Button } from 'vant';

export default {
  components: {
    [Button.name]: Button,
  },
};

For more information, please refer to Vue.js - Component Registration

Browser adaptation

Viewport Units

Vant uses px unit by defaultyou can use tools such as postcss--px-to-viewport to transform px unit to viewport units (vw, vh, vmin, vmax).

PostCSS Config

PostCSS config example:

// postcss.config.js
module.exports = {
  plugins: {
    'postcss-px-to-viewport': {
      viewportWidth: 375,
    },
  },
};

Rem Unit

You can use tools such as postcss-pxtorem to transform px unit to rem unit.

PostCSS Config

PostCSS config example:

// postcss.config.js
module.exports = {
  plugins: {
    'postcss-pxtorem': {
      rootValue: 37.5,
      propList: ['*'],
    },
  },
};

Custom rootValue

If the size of the design draft is 750 or other sizes, you can adjust the rootValue to:

// postcss.config.js
module.exports = {
  plugins: {
    // postcss-pxtorem version >= 5.0.0
    'postcss-pxtorem': {
      rootValue({ file }) {
        return file.indexOf('vant') !== -1 ? 37.5 : 75;
      },
      propList: ['*'],
    },
  },
};

Adapt to PC Browsers

Vant is a mobile-first component library, if you want to use Vant in PC browsers, you can use the @vant/touch-emulator module. This module will automatically convert the mouse events of the PC browser into the touch events of the mobile browser.

# Install
npm i @vant/touch-emulator -S
// Just import this module, then Vant works in PC browser
import '@vant/touch-emulator';