Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

chooks

WARJY24MIT1.13.4TypeScript support: included

基于 @vue/composition-api 的vue hooks函数

chooks, vue, @vue/composition-api

readme

chooks NPM version

基于 @vue/composition-api 的vue hooks函数

Vue 3.0还没有发布,但可以使用@vue/composition-api体验Vue 3.0的函数式编程以及较好的typescript支持

@vue/composition-api以插件形式发布,并且完全向下兼容Vue 2.0

chooks以纯函数方式调用,支持typescript类型检测,并且完全向下兼容Vue 2.0

Hooks

Chooks文档 ( 浏览时建议切换为storybook横版 )

Function decorator

  • useDebounceFun — 为【函数】添加防抖功能的装饰器函数
  • useThrottleFun — 为【函数】添加节流功能的装饰器函数
  • useLoadingFun — 为【函数】添加等待功能的装饰器函数
  • useTimeoutFun — 为【函数】添加延迟执行的装饰器函数

UI & Interactive

  • useSelect — 为【选项】提供单选,多选,选择变化等逻辑
  • useForm — 为【表单】提供初始化数据,重置,数据验证,提交,自动提交等逻辑
  • useList — 为【列表】添加滚动及虚拟列表功能
  • useCount — 为【计数器】提供技术,倒计时等功能
  • usePagination — 为【分页】提供页码,页数,每页大小,页码变化等逻辑
  • useCubicBezier — 为为【贝塞尔过渡】提供计算,开始,结束等函数

Communication

  • useEmitter — 提供一个的订阅-发布模式机制

Storage

  • useStorage — 为【storage】提供过期时间,get,set等函数

Plus

  • useRouter — 为【vue-router】提供刷新,后退,跳转,获取参数等逻辑
  • useStore — 为【vuex】提供state, commit, dispatch等逻辑
  • useStatic — 为应用提供一些全局静态hooks

Install

npm install @vue/composition-api chooks

yarn add @vue/composition-api chooks

Usage

import Vue from 'vue';
import VueCompositionAPI from '@vue/composition-api';

Vue.use(VueCompositionAPI); // 使用前需引用@vue/composition-api插件
<template>
    <div>
        <YourPaginationComponent 
        :page.sync="page" 
        :pageSize="pageSize" 
        :pageCount="pageCount" 
        @change="pageChange" />
    </div>
</template>
<script lang="ts">
import { Ref, SetupContext } from '@vue/composition-api'
import { usePagination } from 'chooks'

export default {
  setup(prop:any, context:SetupContext) {
    /*
    usePagination函数包含了关于分页的数据和逻辑
    { 
        page: Ref<number>,
        pageSize: Ref<number>,
        pageCount: Ref<number>,
        pageChange(curPage:number): void
    } 
    */
    const { page, pageSize, pageCount, pageChange } = usePagination()

    //兼容Vue 2.0
    let oldData = context.root.oldData
    let oldMethod = context.root.oldMethod

    //生命周期函数会在Vue 2.0生命周期函数后执行
    onMounted(()=>{
        console.log("after mounted")
    })

    return { page, pageSize, pageCount, pageChange }
  },
  data(){
      return {
          oldData: "this is an old data defined by vue 2.0"
      }
  },
  mounted(){
      console.log("todo mounted")
  },
  methods: {
      oldMethod(){}
  }
}
<script>

License

MIT

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

1.13.4 (2020-07-16)

1.13.3 (2020-07-07)

Bug Fixes

  • 修复useCubicBezier类型声明 (2b8490b)
  • 修复类型文件入口 (e380967)

1.13.2 (2020-06-28)

Bug Fixes

  • 入口加入export default (2c99833)

1.13.1 (2020-06-28)

1.13.0 (2020-06-28)

Features

1.12.1 (2020-06-21)

1.12.0 (2020-06-20)

Features

  • 新增useCount,useEmitter,useStorage (c707170)

Bug Fixes

  • 修复useList,useCount类型文件 (15f5f33)
  • 放弃watchEffect使用,转为watch (7696b26)

1.11.0 (2020-06-20)

Features

  • 新增useCount,useEmitter,useStorage (c707170)

1.10.2 (2020-06-19)

Bug Fixes

  • 放弃watchEffect使用,转为watch (7696b26)

1.10.1 (2020-06-19)

1.10.0 (2020-06-19)

Features

Bug Fixes

  • 修复useSelect变量名重复bug (644d6a8)

1.9.0 (2020-06-18)

Features

1.8.1 (2020-06-17)

Bug Fixes

  • 修复useSelect变量名重复bug (644d6a8)

1.8.0 (2020-06-17)

Features

1.7.2 (2020-06-17)

1.7.1 (2020-06-16)

Bug Fixes

1.7.0 (2020-06-16)

Features

  • 新增useStatic静态hook (cf7125b)

1.6.0 (2020-06-15)

Features

1.5.5 (2020-06-15)

1.5.4 (2020-06-15)

1.5.3 (2020-06-14)

1.5.2 (2020-06-14)

1.5.1 (2020-06-13)

1.5.0 (2020-06-13)

Features

  • 使用纯函数思想重构useForm (1cd8120)

1.4.2 (2020-06-11)

1.4.1 (2020-06-11)

1.4.0 (2020-06-11)

Features

  • 为usePagination添加手动分页逻辑 (8a2392c)

Bug Fixes

  • 修复useForm (4506572)
  • 修复useForm autoCommit初始化执行 (10ef929)

1.3.0 (2020-06-10)

Features

  • 为usePagination添加手动分页逻辑 (8a2392c)

1.2.0 (2020-06-10)

Features

  • 为usePagination添加手动分页逻辑 (8a2392c)

1.1.8 (2020-06-10)

Bug Fixes

1.1.7 (2020-06-09)

Bug Fixes

  • 修复dataValid判空逻辑;修复useForm valid取值问题;为debounceFun和form添加单元测试 (26ca67d)
  • 修复useForm autoCommit初始化执行 (10ef929)

1.1.6 (2020-06-09)

1.1.5 (2020-06-09)

Bug Fixes

  • 修复dataValid判空逻辑;修复useForm valid取值问题;为debounceFun和form添加单元测试 (26ca67d)
  • 修复dataValid规则;修复ts声明文件 (63825ff)

1.1.4 (2020-06-08)

Bug Fixes

  • 修复dataValid规则;修复ts声明文件 (63825ff)

1.1.3 (2020-06-08)

Bug Fixes

  • 修复dataValid规则;修复ts声明文件 (0a5562e)

1.1.2 (2020-06-08)

1.1.1 (2020-06-08)

1.1.0 (2020-06-08)

Features