mirror of
https://github.com/tenrok/maska.git
synced 2026-06-14 18:42:27 +03:00
Updated docs about value binding
This commit is contained in:
+61
-58
@@ -134,7 +134,67 @@ export default {
|
|||||||
```
|
```
|
||||||
<!-- tabs:end -->
|
<!-- tabs:end -->
|
||||||
|
|
||||||
### Set options with directive
|
### Get value
|
||||||
|
|
||||||
|
To get masked value you can use standard `v-model` directive.
|
||||||
|
But if you want to access an unmasked (raw) value, you can pass a variable as `v-maska` directive value.
|
||||||
|
This variable should be a reactive object that will contains three fields after mask processing:
|
||||||
|
|
||||||
|
- `masked`: string with masked result
|
||||||
|
- `unmasked`: string with unmasked result
|
||||||
|
- `completed`: boolean flag indicating that mask is completed
|
||||||
|
|
||||||
|
<!-- tabs:start -->
|
||||||
|
### **Composition API**
|
||||||
|
|
||||||
|
``` html
|
||||||
|
<script setup>
|
||||||
|
import { reactive, ref } from "vue"
|
||||||
|
import { vMaska } from "maska"
|
||||||
|
|
||||||
|
const maskedValue = ref('')
|
||||||
|
const bindedObject = reactive({})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<input v-maska="bindedObject" v-model="maskedValue">
|
||||||
|
|
||||||
|
Masked value: {{ maskedValue }} or {{ bindedObject.masked }}
|
||||||
|
Unmasked value: {{ bindedObject.unmasked }}
|
||||||
|
<span v-if="bindedObject.completed">✅ Mask completed</span>
|
||||||
|
</template>
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Options API**
|
||||||
|
|
||||||
|
``` html
|
||||||
|
<script>
|
||||||
|
import { vMaska } from "maska"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
directives: { maska: vMaska },
|
||||||
|
data: () => ({
|
||||||
|
maskedValue: "",
|
||||||
|
bindedObject: {
|
||||||
|
masked: "",
|
||||||
|
unmasked: "",
|
||||||
|
completed: false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<input v-maska="bindedObject" v-model="maskedValue">
|
||||||
|
|
||||||
|
Masked value: {{ maskedValue }} or {{ bindedObject.masked }}
|
||||||
|
Unmasked value: {{ bindedObject.unmasked }}
|
||||||
|
<span v-if="bindedObject.completed">✅ Mask completed</span>
|
||||||
|
</template>
|
||||||
|
```
|
||||||
|
<!-- tabs:end -->
|
||||||
|
|
||||||
|
### Set mask options
|
||||||
|
|
||||||
To set default options for the mask you could use directive *argument* (part after `v-maska:`). It can be plain or reactive object and should be wrapped in `[]`:
|
To set default options for the mask you could use directive *argument* (part after `v-maska:`). It can be plain or reactive object and should be wrapped in `[]`:
|
||||||
|
|
||||||
@@ -180,63 +240,6 @@ export default {
|
|||||||
```
|
```
|
||||||
<!-- tabs:end -->
|
<!-- tabs:end -->
|
||||||
|
|
||||||
### Bind to variable
|
|
||||||
|
|
||||||
It’s very easy to bind mask result to a variable.
|
|
||||||
This variable should be reactive object and will contains three fields:
|
|
||||||
|
|
||||||
- `masked`: string with masked result
|
|
||||||
- `unmasked`: string with unmasked result
|
|
||||||
- `completed`: boolean flag indicating that mask is completed
|
|
||||||
|
|
||||||
<!-- tabs:start -->
|
|
||||||
### **Composition API**
|
|
||||||
|
|
||||||
``` html
|
|
||||||
<script setup>
|
|
||||||
import { reactive } from "vue"
|
|
||||||
import { vMaska } from "maska"
|
|
||||||
|
|
||||||
const binded = reactive({})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<input v-maska="binded">
|
|
||||||
<p v-if="binded.completed">
|
|
||||||
Masked value: {{ binded.masked }}
|
|
||||||
Unmasked value: {{ binded.unmasked }}
|
|
||||||
</p>
|
|
||||||
</template>
|
|
||||||
```
|
|
||||||
|
|
||||||
### **Options API**
|
|
||||||
|
|
||||||
``` html
|
|
||||||
<script>
|
|
||||||
import { vMaska } from "maska"
|
|
||||||
|
|
||||||
export default {
|
|
||||||
directives: { maska: vMaska },
|
|
||||||
data: () => ({
|
|
||||||
binded: {
|
|
||||||
masked: "",
|
|
||||||
unmasked: "",
|
|
||||||
completed: false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<input v-maska="binded">
|
|
||||||
<p v-if="binded.completed">
|
|
||||||
Masked value: {{ binded.masked }}
|
|
||||||
Unmasked value: {{ binded.unmasked }}
|
|
||||||
</p>
|
|
||||||
</template>
|
|
||||||
```
|
|
||||||
<!-- tabs:end -->
|
|
||||||
|
|
||||||
#### Global registration of directive
|
#### Global registration of directive
|
||||||
|
|
||||||
<!-- tabs:start -->
|
<!-- tabs:start -->
|
||||||
|
|||||||
Reference in New Issue
Block a user