跳到主要内容

useChangeCase

分类
导出大小
386 B
@vueuse/integrations
上次更改
3 个月前

change-case 的响应式封装。

替代 useCamelCase, usePascalCase, useSnakeCase, useSentenceCase, useCapitalize 等。

演示

helloWorld
可在 @vueuse/integrations 插件中使用。

安装

bash
npm i change-case@^5

用法

ts
import { 
useChangeCase
} from '@vueuse/integrations/useChangeCase'
// `changeCase` will be a computed const
changeCase
=
useChangeCase
('hello world', 'camelCase')
changeCase
.
value
// helloWorld
changeCase
.
value
= 'vue use'
changeCase
.
value
// vueUse
// Supported methods // 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
马灿

更新日志

v13.6.0
d32f8 - refactor: 为所有纯函数添加 @__NO_SIDE_EFFECTS__ 注释 (#4907)
v12.8.0
7432f - feat(types): 废弃 MaybeRefMaybeRefOrGetter,转而使用 Vue 的原生类型 (#4636)
v12.3.0
59f75 - feat(toValue): 废弃 @vueuse/shared 中的 toValue,转而使用 Vue 的原生函数
0a9ed - feat!: 放弃对 Vue 2 的支持,优化打包并清理 (#4349)
5c598 - 修复:使用导出的键进行过滤 (#4130)
df343 - 特性:迁移到 change-case@v5,关闭 #3457 (#3460)

根据 MIT 许可证发布。