Skip to content

useChangeCase

类别
导出体积
386 B
依赖包
@vueuse/integrations
上次更改
2 months ago

change-case 的响应式封装。

替代 useCamelCaseusePascalCaseuseSnakeCaseuseSentenceCaseuseCapitalize 等。

示例

helloWorld
Available in the @vueuse/integrations add-on.

安装

bash
npm i change-case@^5

用法

ts
import { 
useChangeCase
} from '@vueuse/integrations/useChangeCase'
// `changeCase` 将是一个 computed const
changeCase
=
useChangeCase
('hello world', 'camelCase')
changeCase
.
value
// helloWorld
changeCase
.
value
= 'vue use'
changeCase
.
value
// vueUse
// 支持的方法 // export { // camelCase, // capitalCase, // constantCase, // dotCase, // headerCase, // noCase, // paramCase, // pascalCase, // pathCase, // sentenceCase, // snakeCase, // } from 'change-case'

或者将一个 ref 传递给它,返回的 computed 将随着源 ref 的变化而变化。

可以将其传递给 options 进行定制化

ts
import { 
useChangeCase
} from '@vueuse/integrations/useChangeCase'
import {
shallowRef
} from 'vue'
const
input
=
shallowRef
('helloWorld')
const
changeCase
=
useChangeCase
(
input
, 'camelCase', {
delimiter
: '-',
})
changeCase
.
value
// hello-World
input
.
value
= 'vue use'
changeCase
.
value
// vue-Use

类型声明

ts
type 
EndsWithCase
<
T
> =
T
extends `${infer
_
}Case` ?
T
: never
type
FilterKeys
<
T
> = {
[
K
in keyof
T
as
K
extends string ?
K
: never]:
EndsWithCase
<
K
>
} type
ChangeCaseKeys
=
FilterKeys
<typeof changeCase>
export type
ChangeCaseType
=
ChangeCaseKeys
[keyof
ChangeCaseKeys
]
export declare function
useChangeCase
(
input
:
MaybeRef
<string>,
type
:
MaybeRefOrGetter
<
ChangeCaseType
>,
options
?:
MaybeRefOrGetter
<
Options
> | undefined,
):
WritableComputedRef
<string>
export declare function
useChangeCase
(
input
:
MaybeRefOrGetter
<string>,
type
:
MaybeRefOrGetter
<
ChangeCaseType
>,
options
?:
MaybeRefOrGetter
<
Options
> | undefined,
):
ComputedRef
<string>

源码

源码演示文档

贡献者

一纸忘忧
Anthony Fu
Anthony Fu
IlyaL
IlyaL
SerKo
Robin
David Vallejo
wheat
Doctorwu
丶远方
Toni Engelhardt
sun0day
Curt Grimes
马灿

更新日志

d32f8 - refactor: add @__NO_SIDE_EFFECTS__ annotations to all pure functions (#4907)
7432f - feat(types): deprecate MaybeRef and MaybeRefOrGetter in favor of Vue's native (#4636)
59f75 - feat(toValue): deprecate toValue from @vueuse/shared in favor of Vue's native
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
5c598 - fix: use the exported key for filter (#4130)
df343 - feat!: migrate to change-case@v5, closes #3457 (#3460)