elementui禁用按钮-Vuepresss 创建类似elememt ui 的组件库文档

经过前面的折腾,至此我们指南相关的侧边栏和导航栏就已经完成了。 然后我们来创建一个像 VuePress 一样的主页。

默认主题的首页提供了一组默认配置。 但需要注意使用的前提。

---
home: true
heroImage: /img/avatar.jpeg   # 注意这里可以使外链,也可以是静态资源
heroText: Hero 标题
tagline: Hero 副标题
actionText: 快速上手 →
actionLink: /guide/ # 这里是点击快速上手后的跳转链接。
features:
- title: 简洁至上
details: 以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。
- title: Vue驱动
details: 享受 Vue + webpack 的开发体验,在 Markdown 中使用 Vue 组件,同时可以使用 Vue 来开发自定义主题。
- title: 高性能
details: VuePress 为每个页面预渲染生成静态的 HTML,同时在页面被加载的时候,将作为 SPA 运行。
footer: MIT Licensed | Copyright © 2018-present Evan You
---

注意里面的图片存储位置

默认是为了避免.vuepress -> public 之后出现太多图片。 我分了一个文件夹。 vuepress -> 公共 -> img

快速重新运行您的项目,您将看到以下结果

看起来不错

这些都是基本配置,接下来就是我们的重头戏了

Markdown 语法扩展

语法扩展相信大部分朋友对于markdown的句型都略知一二。 以下是 VuePress 中的一些扩展句型。 大多数句型都比较简单。 这里我们重点关注文件导出。

在导出文件之前,我们需要了解一些知识:

 components/demo-1.vue` 在使用时则是 `
components/guide/demo1.vue` 在使用时则是 `

这意味着您可以编写以下代码。

看看我们的组件

新文档/.vuepress/components/demo-1.vue

 
 

   

我是自定义的组件哦


 


创建一个新文件 docs/.vuepress/components/zz/demo.vue

 
 

   

我还是组件{{msg}}


 




export default {
  data() {
    return {
      msg: 'Welcome to scalable'
  }
},
}

然后在任何你想要的地方使用它

 

注意需要重启

导入外部组件(应用级配置)

官方:由于 VuePress 是一个标准的 Vue 应用程序,因此您可以通过创建 .vuepress/enhanceApp.js 文件来进行一些应用程序级别的配置elementui禁用按钮,该文件存在时将导出到应用程序中。 增强App.js应该默认导出一个钩子函数,该函数将包含一些应用程序级属性的对象作为参数。 你可以使用这个钩子来安装一些额外的Vue插件、注册全局组件、删除额外的路由钩子等。

// 使用异步函数也是可以的
export default ({
  Vue, // VuePress 正在使用的 Vue 构造函数
  options, // 附加到根实例的一些选项
  router, // 当前应用的路由实例
  siteData, // 站点元数据
  isServer // 当前应用配置是处于 服务端渲染 或 客户端
}) => {
  // ...做一些其他的应用级别的优化
}

上面的内容告诉我们可以使用插件,这是编写组件库文档必不可少的,满足要求即可,然后根据官方提示修改enhanceApp.js:

文档以element-ui为例

创建一个新文件 docs/.vuepress/enhanceApp.js

 import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

export default ({ Vue, options, router, siteData, isServer }) => {
  Vue.use(ElementUI);
};

安装元素

 npm install element-ui

安装演示插件

这里我们将使用一个 vuepress-plugin-demo-container 插件,使用以下命令安装它

 npm install vuepress-plugin-demo-container

然后在 /docs/.vuepress/config.js 文件中配置插件

 module.exports = {
  // ...
  plugins: ['demo-container'], // 配置插件
  markdown: {}
}

修改按钮.md

 ::: demo 适用广泛的基础单选
```html

 
   <el-option
     v-for="item in options"
     :key="item.value"
     :label="item.label"
     :value="item.value">
   
 



 export default {
   data() {
     return {
       options: [{
         value: '选项1',
         label: '黄金糕'
       }, {
         value: '选项2',
         label: '双皮奶'
       }],
       value: ''
     }
   }
 }

```
:::

看看页面,哈哈,不行。 我找了很久才知道原因。 很可能是因为我的vuepress版本太低,所以我重新安装了它。

 npm install vuepress

然后重启,成功

还有一个问题。 我把el-button复制到了那里elementui禁用按钮,但是默认的样式不是这样的。 修改页面默认样式

新 docs.vuepressstylesindex.styl

 /*我们就直接写css了,默认是stylus格式的*/ .el-row{
  margin-bottom:12px;
}

最后我们构建一下看看会不会报错

 npm run build

成功。

你没有义务成为一年前、一天前、甚至 15 分钟前的自己。 无需感到遗憾或内疚,你生来就有改变和成长的力量。