npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

wiztekui

v1.7.6

Published

A Vue.js project

Downloads

66

Readme

wiztekui

wiztek UI project https://github.com/xoxleidu/wiztekui

Setup

# install wiztekui
npm install wiztekui -s
# main.js
import wiztekui from "wiztekui";
Vue.use(wiztekui);
import "wiztekui/lib/css/wiztekui.min.css";


使用 scss 更换主题颜色

# color theme
create myui.scss In main.js
## package.json
"sass-loader": "^7.3.1",
"node-sass": "^4.14.1",

# myui.scss:
$--color-primary: "#0062cc";
$--color-success: "#28a745";
$--color-warning: "#ffc107";
$--color-danger: "#dc3545";
$--color-info: "#6d757d";

## in end
@import "~wiztekui/lib/scss/wiztekui.scss";


button

<wzButton type="primary" size="medium">按钮</wzButton>
<wzButton type="success" size="small" :loading="loading">加载</wzButton>
<wzButton type="warning" size="mini" :disabled="disabled">禁用</wzButton>
<wzButton type="primary" icon="wz-icon-phone">带图标</wzButton>
<wzButton type="danger" size="big" @change="handleButtonChange">点击</wzButton>
export default {
  data() {
    return {
      loading: true,
      disabled: true
    };
  },
  methods: {
    handleButtonChange() {
      console.log("change...");
    }
  }
};

Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ----------- | :------------: | :-----: | :------------------------------------------------: | -----: | | size | 尺寸 | string | big / medium / small / mini | — | | type | 类型 | string | primary / success / warning / danger / info / text | — | | loading | 是否加载中状态 | boolean | — | false | | disabled | 是否禁用状态 | boolean | — | false | | icon | 图标类名 | string | — | — | | autofocus | 是否默认聚焦 | boolean | — | false | | native-type | 原生 type 属性 | string | button / submit / reset | button |

Events

| 事件名称 | 说明 | 回调参数 | | -------- | :------: | :---------------: | | change | 点击事件 | object MouseEvent |



card

<wzCard type="primary" shadow="hover">
  <div slot="header" class="clearfix">
    <span>卡片名称</span>
    <wzButton size="mini" style="float: right; padding: 3px">操作按钮</wzButton>
  </div>
  <div>列表内容</div>
</wzCard>
<style>
  .clearfix {
    clear: both;
  }
</style>

Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ---------- | :-------------------------------------------------: | :----: | :--------------------: | -----: | | type | 模板 | string | primary / info /dark | - | | header | 设置 header,也可以通过 slot#header 传入 DOM string | — | — | | body-style | 设置 body 的样式 | object | — { padding: '20px' } | | shadow | 设置阴影显示时机 | string | always / hover / never | always |



collapse

折叠面板

<wz-collapse v-model="activeNames" @change="collapseHandleChange">
  <wz-collapse-item name="1">
    <template slot="title">
      一致性 Consistency<i class="header-icon wz-icon-info"></i>
    </template>
    <div>
      与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;
    </div>
    <div>
      在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。
    </div>
  </wz-collapse-item>
  <wz-collapse-item title="反馈 Feedback" name="2">
    <div>
      控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;
    </div>
    <div>
      页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。
    </div>
  </wz-collapse-item>
  <wz-collapse-item title="效率 Efficiency" name="3">
    <div>简化流程:设计简洁直观的操作流程;</div>
    <div>
      清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;
    </div>
    <div>
      帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。
    </div>
  </wz-collapse-item>
  <wz-collapse-item title="可控 Controllability" name="4">
    <div>
      用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;
    </div>
    <div>
      结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。
    </div>
  </wz-collapse-item>
</wz-collapse>
<script>
  export default {
    data() {
      return {
        activeNames: ["1"]
      };
    },
    methods: {
      collapseHandleChange(val) {
        console.log(val);
      }
    }
  };
</script>

collapse Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------- | :---------------------------------------------------------------------: | :------------: | :----: | :----: | | value / v-model | 当前激活的面板(如果是手风琴模式,绑定值类型需要为 string,否则为 array) | string / array | — | — | | accordion | 是否手风琴模式 | boolean | — | false |

collapse Events

| 事件名称 | 说明 | 回调参数 | | -------- | :------------------------------------------------------------------------------------: | :---------------------------: | | change | 当前激活面板改变时触发(如果是手风琴模式,参数 activeNames 类型为 string,否则为 array) | (activeNames: array / string) |

collapse Item Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | -------- | :--------: | :-----------: | :----: | :----: | | name | 唯一标志符 | string/number | — | — | | title | 面板标题 | string | — | — | | disabled | 是否禁用 | boolean | — | — |



icon

<i class="wz-icon-loading"></i>


loading

<div v-loading="loading">
  <wzButton @change="handleDivLoadingChange">dom加载</wzButton>
  <wzButton @change="handleFusLoadingChange">全屏加载</wzButton>
</div>
<script>
  export default {
    data() {
      return {
        loading: false
      };
    },
    methods: {
      handleDivLoadingChange() {
        this.loading = true;
        setTimeout(() => {
          this.loading = false;
        }, 3000);
      },
      handleFusLoadingChange() {
        this.$loading();
        setTimeout(() => {
          this.$loading().close();
        }, 3000);
      }
    }
  };
</script>

如果完整引入了 loading, Vue.prototype 上会有一个全局方法 $loading,它的调用方式为:this.$loading(options),同样会返回一个 Loading 实例。此时调用它们中任意一个的 close 方法都能关闭这个全屏 Loading。

Options

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ----------- | :---------------------------------------------------------------------------------------------------------------------------------------: | :-----------: | :----: | ------------: | | target | Loading 需要覆盖的 DOM 节点。可传入一个 DOM 对象或字符串;若传入字符串,则会将其作为参数传入 document.querySelector 以获取到对应 DOM 节点 | object/string | — | document.body | | body | 同 v-loading 指令中的 body 修饰符 | boolean | — | false | | fullscreen | 同 v-loading 指令中的 fullscreen 修饰符 | boolean | — | true | | lock | 同 v-loading 指令中的 lock 修饰符 | boolean | — | false | | text | 显示在加载图标下方的加载文案 | string | — | — | | spinner | 自定义加载图标类名 | string | — | — | | background | 遮罩背景色 | string | — | — | | customClass | Loading 的自定义类名 | string | — | — |



message

<wzButton @change="handleMessageChange">message</wzButton>
<script>
  import { Message } from "wiztekui";
  export default {
    data() {
      return {
        loading: false
      };
    },
    methods: {
      handleMessageChange() {
        Message.primary("信息");
      }
    }
  };
</script>

Vue.prototype 上会有一个全局方法 $message,它的调用方式为:this.$message(options),同样会返回一个 Message 实例。此时调用它们中任意一个的 close 方法都能关闭这个全屏 Message。

Options

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ------------------------ | :-------------------------------------------: | :------------: | :---------------------------------: | ------: | | message | 消息文字 | string / VNode | — | — | | type | 主题 | string | primary、success/warning/info/error | primary | | iconClass | 自定义图标的类名,会覆盖 type | string | — | — | | dangerouslyUseHTMLString | 是否将 message 属性作为 HTML 片段处理 | boolean | — | false | | customClass | 自定义类名 | string | — | — | | duration | 显示时间, 毫秒。设为 0 则不会自动关闭 | number | — | 3000 | | showClose | 是否显示关闭按钮 | boolean | — | false | | center | 文字是否居中 | boolean | — | false | | onClose | 关闭时的回调函数, 参数为被关闭的 message 实例 | function | — | — |

message Methods

| 方法名 | 说明 | | ------ | :----------------: | | close | 关闭当前的 Message |



input

<wzInput v-model="input"></wzInput>
<wzInput v-model="input">
  <template slot="prepend">Http://</template>
</wzInput>

Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ------------- | :----------------------------------: | :-----: | :-------------------------: | -----: | | size | 大小 | string | big / medium / small / mini | - | | placeholder | 输入框占位文本 | string | - | - | | clearable | 是否可清空 | boolean | - | false | | maxlength | 原生属性,最大输入长度 | number | - | - | | show-password | 是否显示切换密码图标 | boolean | - | false | | disabled | 禁用 | boolean | - | false | | prefix-icon | 输入框头部图标 | string | — | — | | suffix-icon | 输入框尾部图标 | string | — | — | | name | 原生属性 | string | — | — | | readonly | 原生属性,是否只读 | boolean | — | false | | max | 原生属性,设置最大值 | — | — | — | | min | 原生属性,设置最小值 | — | — | — | | step | 原生属性,设置输入字段的合法数字间隔 | — | — | — | | autofocus | 原生属性,自动获取焦点 | boolean | true, false | false | | form | 原生属性 | string | — | — |

Input Slots

| name | 说明 | | ------- | :------------: | | prefix | 输入框头部内容 | | suffix | 输入框尾部内容 | | prepend | 输入框前置内容 | | append | 输入框后置内容 |

Input Events

| 事件名称 | 说明 | 回调参数 | | -------- | :-----------------------------------------: | :------------: | | blur | 在 Input 失去焦点时触发 | (event: Event) | | focus | 在 Input 获得焦点时触发 | (event: Event) | | change | 在 Input 值改变时触发 | (value: string | number) | | clear | 在点击由 clearable 属性生成的清空按钮时触发 | — |

Input Methods

| 方法名 | 说明 | 参数 | | ------ | :-----------------: | :--: | | focus | 使 input 获取焦点 | — | | blur | 使 input 失去焦点 | — | | select | 选中 input 中的文字 | — |



radio

<wzRadio v-model="radio" label="1"></wzRadio>
<wz-radio-group v-model="radio">
  <wz-radio :label="2">radio2</wz-radio>
  <wz-radio :label="3">radio3</wz-radio>
</wz-radio-group>
<wz-radio-group v-model="radio">
  <wz-radio-button :label="4">按钮4</wz-radio-button>
  <wz-radio-button :label="5">按钮5</wz-radio-button>
</wz-radio-group>

Radio Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------- | :----------------------------------: | :-----------------------: | :-------------------: | :----: | | value / v-model | 绑定值 | string / number / boolean | — | — | | label | Radio 的 value | string / number / boolean | — | — | | disabled | 是否禁用 | boolean | — | false | | border | 是否显示边框 | boolean | — | false | | size | Radio 的尺寸,仅在 border 为真时有效 | string | medium / small / mini | — | | name | 原生 name 属性 | string | — | — |

Radio-group Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------- | :--------------------------------------------------------: | :-----------------------: | :-------------------: | :-----: | | value / v-model | 绑定值 | string / number / boolean | — | — | | disabled | 是否禁用 | boolean | — | false | | text-color | 按钮形式的 Radio 激活时的文本颜色 | string | — | #ffffff | | fill | 按钮形式的 Radio 激活时的填充色和边框色 | string | — | #0062cc | | size | 单选框组尺寸,仅对按钮形式的 Radio 或带有边框的 Radio 有效 | string | medium / small / mini | — |

Radio-button Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | -------- | :------------: | :-------------: | :----: | :----: | | label | Radio 的 value | string / number | — | — | | disabled | 是否禁用 | boolean | — | false | | name | 原生 name 属性 | string | — | — |

Events

| 事件名称 | 说明 | 回调参数 | | -------- | :--------------------: | :-------------------: | | change | 绑定值变化时触发的事件 | 选中的 Radio label 值 |



checkbox

<wzCheckbox v-model="checkbox" label="1"></wzCheckbox>
<wz-checkbox-group v-model="checkbox">
  <wz-checkbox :label="2">多选项</wz-checkbox>
  <wz-checkbox :label="3">多选项</wz-checkbox>
</wz-checkbox-group>
<wz-checkbox-group v-model="checkbox">
  <wz-checkbox-button :label="4">多选项</wz-checkbox-button>
  <wz-checkbox-button :label="5">多选项</wz-checkbox-button>
</wz-checkbox-group>
<wz-checkbox
  :indeterminate="isAllCheck"
  v-model="checkAll"
  @change="handleCheckAllChange"
  >全选</wz-checkbox
>
<wz-checkbox-group v-model="checkbox2" @change="handleChecked2Change">
  <wz-checkbox :label="21">多选项</wz-checkbox>
  <wz-checkbox :label="22">多选项</wz-checkbox>
  <wz-checkbox :label="23">多选项</wz-checkbox>
  <wz-checkbox :label="24">多选项</wz-checkbox>
</wz-checkbox-group>
<script>
  export default {
    data() {
      return {
        checkAll: false,
        checkbox2: [],
        isAllCheck: false
      };
    },
    methods: {
      handleCheckAllChange(val) {
        this.checkbox2 = val ? [21, 22, 23, 24] : [];
        this.isAllCheck = false;
      },
      handleChecked2Change(value) {
        let checkedCount = value.length;
        this.checkAll = checkedCount === [21, 22, 23, 24].length;
        this.isAllCheck =
          checkedCount > 0 && checkedCount < [21, 22, 23, 24].length;
      }
    }
  };
</script>

checkbox Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------- | :-------------------------------------------------------------------: | :-----------------------: | :-------------------: | :----: | | value / v-model | 绑定值 | string / number / boolean | — | — | | label | 选中状态的值(只有在 checkbox-group 或者绑定对象类型为 array 时有效) | string / number / boolean | — | — | | true-label | 选中时的值 | string / number | — | — | | false-label | 没有选中时的值 | string / number | — | — | | disabled | 是否禁用 | boolean | — | false | | border | 是否显示边框 | boolean | — | false | | size | Checkbox 的尺寸,仅在 border 为真时有效 | string | medium / small / mini | — | | name | 原生 name 属性 | string | — | — | | checked | 当前是否勾选 | boolean | — | false | | indeterminate | 设置 indeterminate 状态,只负责样式控制 | boolean | — | false |

checkbox-group Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------- | :----------------------------------------: | :-----------------------: | :-------------------: | :-----: | | value / v-model | 绑定值 | string / number / boolean | — | — | | disabled | 是否禁用 | boolean | — | false | | size | Checkbox 的尺寸,仅在 border 为真时有效 | string | medium / small / mini | — | | min | 可被勾选的 checkbox 的最小数量 | number | — | — | | max | 可被勾选的 checkbox 的最大数量 | number | — | — | | text-color | 按钮形式的 Checkbox 激活时的文本颜色 | string | — | #ffffff | | fill | 按钮形式的 Checkbox 激活时的填充色和边框色 | string | — | #0062cc |

checkbox-button Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ----------- | :-------------------------------------------------------------------: | :-----------------------: | :----: | :----: | | label | 选中状态的值(只有在 checkbox-group 或者绑定对象类型为 array 时有效) | string / number / boolean | — | — | | true-label | 选中时的值 | string / number | — | — | | false-label | 没有选中时的值 | string / number | — | — | | disabled | 是否禁用 | boolean | — | false | | name | 原生 name 属性 | string | — | — | | checked | 当前是否勾选 | boolean | — | false |

Events

| 事件名称 | 说明 | 回调参数 | | -------- | :----------------------: | :--------: | | change | 当绑定值变化时触发的事件 | 更新后的值 |



switch

<wzSwitch v-model="meSwitch"></wzSwitch>
<wz-switch
  v-model="meSwitch"
  active-color="#0062cc"
  inactive-color="#0062cc"
  active-text="精确到日"
  inactive-text="精确到时"
>
</wz-switch>

switch Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ------------------- | :---------------------------------------------------------: | :-----------------------: | :----: | :-----: | | value / v-model | 绑定值 | boolean / string / number | — | — | | disabled | 是否禁用 | boolean | — | false | | width | switch 的宽度(像素) | number | — | 35 | | active-icon-class | switch 打开时所显示图标的类名,设置此项会忽略 active-text | string | — | — | | inactive-icon-class | switch 关闭时所显示图标的类名,设置此项会忽略 inactive-text | string | — | — | | active-text | switch 打开时的文字描述 | string | — | — | | inactive-text | switch 关闭时的文字描述 | string | — | — | | active-value | switch 打开时的值 | boolean / string / number | — | true | | inactive-value | switch 关闭时的值 | boolean / string / number | — | false | | active-color | switch 打开时的背景色 | string | — | #0062cc | | inactive-color | switch 关闭时的背景色 | string | — | #dddfe7 | | name | switch 对应的 name 属性 | string | — | — | | validate-event | 改变 switch 状态时是否触发表单的校验 | boolean | - | true |

switch Events

| 事件名称 | 说明 | 回调参数 | | -------- | :-----------------------------: | :--------: | | change | switch 状态发生变化时的回调函数 | 新状态的值 |

switch Methods

| 方法名 | 说明 | 参数 | | ------ | :----------------: | :--: | | focus | 使 Switch 获取焦点 | - |



Dialog

在保留当前页面状态的情况下,告知用户并承载相关操作。

<wz-button type="text" @change="dialogVisible = true"
  >点击打开 Dialog</wz-button
>

<wz-dialog
  title="提示"
  :visible.sync="dialogVisible"
  width="30%"
  :before-close="handleClose"
>
  <span>这是一段信息</span>
  <span slot="footer" class="dialog-footer">
    <wz-button @change="dialogVisible = false">取 消</wz-button>
    <wz-button type="primary" @change="dialogVisible = false">确 定</wz-button>
  </span>
</wz-dialog>

<script>
  export default {
    data() {
      return {
        dialogVisible: false
      };
    },
    methods: {
      handleClose(done) {
        done();
      }
    }
  };
</script>

Dialog 的内容是懒渲染的,即在第一次被打开之前,传入的默认 slot 不会被渲染到 DOM 上。因此,如果需要执行 DOM 操作,或通过 ref 获取相应组件,请在 open 事件回调中进行。

如果 visible 属性绑定的变量位于 Vuex 的 store 内,那么 .sync 不会正常工作。此时需要去除 .sync 修饰符,同时监听 Dialog 的 open 和 close 事件,在事件回调中执行 Vuex 中对应的 mutation 更新 visible 属性绑定的变量的值。

Dialog Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------------- | :--------------------------------------------------------------------------: | :----------------------------------: | :----: | :----: | | visible | 是否显示 Dialog,支持 .sync 修饰符 | boolean | — | false | | title | Dialog 的标题,也可通过具名 slot (见下表)传入 | string | — | — | | width | Dialog 的宽度 | string | — | 50% | | fullscreen | 是否为全屏 Dialog | boolean | — | false | | top | Dialog CSS 中的 margin-top 值 | string | — | 15vh | | modal | 是否需要遮罩层 | boolean | — | true | | modal-append-to-body | 遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上 | boolean | — | true | | append-to-body | Dialog 自身是否插入至 body 元素上。嵌套的 Dialog 必须指定该属性并赋值为 true | boolean | — | false | | lock-scroll | 是否在 Dialog 出现时将 body 滚动锁定 | boolean | — | true | | custom-class | Dialog 的自定义类名 | string | — | — | | close-on-click-modal | 是否可以通过点击 modal 关闭 Dialog | boolean | — | true | | close-on-press-escape | 是否可以通过按下 ESC 关闭 Dialog | boolean | — | true | | show-close | 是否显示关闭按钮 | boolean | — | true | | before-close | 关闭前的回调,会暂停 Dialog 的关闭 | function(done),done 用于关闭 Dialog | — | — | | center | 是否对头部和底部采用居中布局 | boolean | — | false |

Slot

| name | 说明 | | ------ | :---------------------: | | — | Dialog 的内容 | | title | Dialog 标题区的内容 | | footer | Dialog 按钮操作区的内容 |

Events

| 事件名称 | 说明 | 回调参数 | | -------- | :-------------------------: | :------: | | open | Dialog 打开的回调 | — | | opened | Dialog 打开动画结束时的回调 | — | | close | Dialog 关闭的回调 | — | | closed | Dialog 关闭动画结束时的回调 | — |



tooltip

文字提示

<wz-tooltip placement="top" content="top 提示文字"
  ><span>上提示</span></wz-tooltip
>

tooltip 内不支持 router-link 组件,请使用 vm.$router.push 代替。 tooltip 内不支持 disabled form 元素,参考 MDN,请在 disabled form 元素外层添加一层包裹元素。

tooltip Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------- | :-------------------------------------------------------------------: | :-----: | :-------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: | | effect | 默认提供的主题 | String | dark/light/primary/success/warning/danger/info | dark | | content | 显示的内容,也可以通过 slot#content 传入 DOM | String | — | — | | placement | Tooltip 的出现位置 | String | top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end | bottom | | value / v-model | 状态是否可见 | Boolean | — | false | | disabled | Tooltip 是否可用 | Boolean | — | false | | offset | 出现位置的偏移量 | Number | — | 0 | | transition | 定义渐变动画 | String | — | wz-fade-in-linear | | visible-arrow | 是否显示 Tooltip 箭头,更多参数可见 Vue-popper | Boolean | — | true | | popper-options | popper.js 的参数 | Object | 参考 popper.js 文档 | { boundariesElement: 'body', gpuAcceleration: false } | | open-delay | 延迟出现,单位毫秒 | Number | — | 0 | | manual | 手动控制模式,设置为 true 后,mouseenter 和 mouseleave 事件将不会生效 | Boolean | — | false | | popper-class | 为 Tooltip 的 popper 添加类名 | String | — | — | | enterable | 鼠标是否可进入到 tooltip 中 | Boolean | — | true | | hide-after | Tooltip 出现后自动隐藏延时,单位毫秒,为 0 则不会自动隐藏 | number | — | 0 | | tabindex | Tooltip 组件的 tabindex | number | — | 0 |



Popover

Popover 的属性与 Tooltip 很类似,它们都是基于 Vue-popper 开发的,因此对于重复属性,请参考 Tooltip 的文档,在此文档中不做详尽解释。

<template>
  <wz-popover
    placement="top-start"
    title="标题"
    width="200"
    trigger="hover"
    content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
  >
    <wz-button slot="reference">hover 激活</wz-button>
  </wz-popover>

  <wz-popover
    placement="bottom"
    title="标题"
    width="200"
    trigger="click"
    content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
  >
    <wz-button slot="reference">click 激活</wz-button>
  </wz-popover>

  <wz-popover
    ref="popover"
    placement="right"
    title="标题"
    width="200"
    trigger="focus"
    content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
  >
  </wz-popover>
  <wz-button v-popover:popover>focus 激活</wz-button>

  <wz-popover
    placement="bottom"
    title="标题"
    width="200"
    trigger="manual"
    content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
    v-model="visible"
  >
    <wz-button slot="reference" @change="visible = !visible"
      >手动激活</wz-button
    >
  </wz-popover>
</template>

<script>
  export default {
    data() {
      return {
        visible: false
      };
    }
  };
</script>

如需改变背景颜色,添加 popper-class='wz-popover-tooltip',border的颜色位置为placement的选项,默认 bottom,参数为:border- + placement.split("-")[0] + -color

<style>
.wz-popover-tooltip {
  background-color: #333;
}
.wz-popover-tooltip .popper__arrow::after {
  border-bottom-color: #333 !important;
}
</style>

Popover Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------- | :--------------------------------------------: | :------------: | :-------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: | | trigger | 触发方式 | String | click/focus/hover/manual | click | | title | 标题 | String | — | — | | content | 显示的内容,也可以通过 slot 传入 DOM | String | — | — | | width | 宽度,auto为自动 | String, Number | auto | - | | padding | padding | String, Number | — | 6 | | fontSize | 文字大小 | String, Number | — | 14px | | fontColor | 文字颜色 | String | — | #333333 | | placement | 出现位置 | String | top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end | bottom | | disabled | Popover 是否可用 | Boolean | — | false | | value / v-model | 状态是否可见 | Boolean | — | false | | offset | 出现位置的偏移量 | Number | — | 0 | | transition | 定义渐变动画 | String | — | fade-in-linear | | visible-arrow | 是否显示 Tooltip 箭头,更多参数可见 Vue-popper | Boolean | — | true | | popper-options | popper.js 的参数 | Object | 参考 popper.js 文档 | { boundariesElement: 'body', gpuAcceleration: false } | | popper-class | 为 popper 添加类名 | String | — | — | | open-delay | 触发方式为 hover 时的显示延迟,单位为毫秒 | Number | — | — | | tabindex | Popover 组件的 tabindex | number | — | 0 |

Slot

| name | 说明 | | --------- | :---------------------------: | | — Popover | 内嵌 HTML 文本 | | reference | 触发 Popover 显示的 HTML 元素 |

Events

| 事件名称 | 说明 | 回调参数 | | ----------- | :--------------------: | :------: | | show | 显示时触发 | — | | after-enter | 显示动画播放完毕后触发 | — | | hide | 隐藏时触发 | — | | after-leave | 隐藏动画播放完毕后触发 | — |



Menu

<wz-menu>
  <wz-menu-item index="1">处理中心</wz-menu-item>
  <wz-submenu index="2">
    <template slot="title">我的工作台</template>
    <wz-menu-item index="2-1">选项1</wz-menu-item>
    <wz-menu-item index="2-2"
      ><template slot="title"
        ><i class="wz-icon-phone"></i><span>选项2</span></template
      ></wz-menu-item
    >
    <wz-menu-item index="2-3">选项3</wz-menu-item>
    <wz-submenu index="2-4">
      <template slot="title">选项4</template>
      <wz-menu-item index="2-4-1">选项1</wz-menu-item>
      <wz-menu-item index="2-4-2">选项2</wz-menu-item>
      <wz-menu-item index="2-4-3">选项3</wz-menu-item>
    </wz-submenu>
  </wz-submenu>
  <wz-menu-item index="3">
    <template slot="title">
      <i class="wz-icon-back-left"></i>
      <span>消息中心</span>
    </template>
  </wz-menu-item>
  <wz-submenu index="4">
    <template slot="title">订单管理</template>
    <wz-menu-item index="4-1">选项1</wz-menu-item>
    <wz-menu-item index="4-2">选项2</wz-menu-item>
  </wz-submenu>
</wz-menu>

Menu Attributes

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ------------------- | :---------------------------------------------------------------------------------: | :-----: | :-------------------: | :--------: | | mode | 模式 | string | horizontal / vertical | horizontal | | collapse | 是否水平折叠收起菜单(仅在 mode 为 vertical 时可用) | boolean | — | false | | background-color | 菜单的背景色(仅支持 hex 格式) | string | — | #0062cc | | text-color | 菜单的文字颜色(仅支持 hex 格式) | string | — | #ffffff | | active-text-color | 当前激活菜单的文字颜色(仅支持 hex 格式) | string | — | #555555 | | default-active | 当前激活菜单的 index | string | — | — | | default-openeds | 当前打开的 sub-menu 的 index 的数组 | Array | — | — | | unique-opened | 是否只保持一个子菜单的展开 | boolean | — | false | | menu-trigger | 子菜单打开的触发方式(只在 mode 为 horizontal 时有效) | string | hover / click | hover | | router | 是否使用 vue-router 的模式,启用该模式会在激活导航时以 index 作为 path 进行路由跳转 | boolean | — | false | | collapse-transition | 是否开启折叠动画 | boolean | — | true |

Menu Methods

| 方法名称 | 说明 | 参数 | | -------- | :-----------------: | :---------------------------------: | | open | 展开指定的 sub-menu | index: 需要打开的 sub-menu 的 index | | close | 收起指定的 sub-menu | index: 需要收起的 sub-menu 的 index |

Menu Events

| 事件名称 | 说明 | 回调参数 | | -------- | :-----------------: | :------------------------------------------------------------------------: | | select | 菜单激活回调 | index: 选中菜单项的 index, indexPath: 选中菜单项的 index path | | open | sub-menu 展开的回调 | index: 打开的 sub-menu 的 index, indexPath: 打开的 sub-menu 的 index path | | close | sub-menu 收起的回调 | index: 收起的 sub-menu 的 index, indexPath: 收起的 sub-menu 的 index path |

SubMenu Attribute

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | --------------------- | :----------------------------------------------------------------------: | :---------: | :----: | :------------------------------------: | | index | 唯一标志 | string/null | — | null | | popper-class | 弹出菜单的自定义类名 | string | — | — | | show-timeout | 展开 sub-menu 的延时 | number | — | 300 | | hide-timeout | 收起 sub-menu 的延时 | number | — | 300 | | disabled | 是否禁用 | boolean | — | false | | popper-append-to-body | 是否将弹出菜单插入至 body 元素。在菜单的定位出现问题时,可尝试修改该属性 | boolean | — | 一级子菜单:true / 非一级子菜单:false |

Menu-Item Attribute

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | -------- | :-----------------: | :-----: | :----: | :----: | | index | 唯一标志 | string | — | — | | route | Vue Router 路径对象 | Object | — | — | | disabled | 是否禁用 | boolean | — | false |

Menu-Group Attribute

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ----- | :------: | :----: | :----: | :----: | | title | 分组标题 | string | — | — |



布局

<div class="wz-header">header</div>
<div class="wz-footer">footer</div>
<div class="wz-container">container</div>
<div class="wz-container wz-container-fixed wz-container-fixed-height">
  <div
    class="wz-container-child-norow-div wz-aside"
    style="background-color: #ccc"
  >
    aside
  </div>
  <div class="wz-container-child-norow-div wz-main">main</div>
</div>

Attribute

| 参数 | 说明 | 类型 | 子 DOM 可选值 | 默认内容 | | ------------------------- | :------------------: | :---: | :--------------------------: | :--------------------------------------------------------------------------------------: | | wz-header | 页头 | calss | — | 高度:60px;背景色:#555555 | | wz-container | 页面 | calss | — | — | | wz-container-fixed | fixed 布局 | calss | wz-container-child-norow-div | display:flex;flex-flow: row nowrap;justify-content: space-between; | | wz-container-fixed-height | fixed 布局,屏幕高度 | calss | — | 高度:屏幕高度-header 高度-footer 高度 | | wz-aside | 右边栏 | calss | — | — | | wz-main | 页面 | calss | — | — | | wz-footer | 页底 | calss | — | width: 100%;height: 30px;line-height: 30px;background-color: #888888;color: floralwhite; |

wz-container-child-norow-div Attribute

| 参数 | 说明 | 类型 | 默认内容 | | ---------------------------- | :----------------------------: | :---: | :-------------: | | wz-container-child-norow-div | wz-container-fixed 子 DIV 样式 | calss | flex: 0 0 100%; |