Skip to content
This repository was archived by the owner on Nov 30, 2020. It is now read-only.

Commit 28fa1e9

Browse files
committed
add FormInputIcon component
1 parent e9d251e commit 28fa1e9

File tree

3 files changed

+37
-0
lines changed

3 files changed

+37
-0
lines changed

example/src/components/FormsPage.vue

+20
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,26 @@
4747
</form-group-addon>
4848
</form-input-group>
4949
</form-group>
50+
<form-group>
51+
<form-label>Icon input</form-label>
52+
<form-input-icon icon="search" right class="mb-3">
53+
<form-input placeholder="Search for..."/>
54+
</form-input-icon>
55+
<form-input-icon icon="user" class="mb-3">
56+
<form-input placeholder="Username"/>
57+
</form-input-icon>
58+
</form-group>
59+
<form-group>
60+
<form-label>Separated input</form-label>
61+
<grid-row class="gutters-xs">
62+
<grid-col sm>
63+
<form-input placeholder="Search for..."/>
64+
</grid-col>
65+
<grid-col class="col-auto">
66+
<t-button><icon icon="search"></icon></t-button>
67+
</grid-col>
68+
</grid-row>
69+
</form-group>
5070
</grid-col>
5171
<grid-col md="6" lg="4">
5272
<form-group>

src/components/Form/FormInputIcon.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
export default {
2+
name: 'form-input-icon',
3+
props: {
4+
icon: {required: true, type: String},
5+
prefix: {default: 'fe', type: String},
6+
right: {default: false, type: Boolean}
7+
},
8+
render (createElement) {
9+
const addOn = createElement('span', {class: ['input-icon-addon']}, [createElement('icon', {props: {icon: this.icon, prefix: this.prefix}})])
10+
const elements = [addOn, this.$slots.default]
11+
return createElement('div', {
12+
class: ['input-icon']
13+
}, this.right ? elements.reverse() : elements)
14+
}
15+
}

src/components/Form/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import FormFileInput from './FormFileInput'
33
import FormGroup from './FormGroup'
44
import FormGroupAddon from './FormGroupAddon'
55
import FormInput from './FormInput'
6+
import FormInputIcon from './FormInputIcon'
67
import FormInputGroup from './FormInputGroup'
78
import FormInvalidFeedback from './FormInvalidFeedback'
89
import FormLabel from './FormLabel'
@@ -14,6 +15,7 @@ import FormTextarea from './FormTextarea'
1415
export {
1516
FormCheckbox,
1617
FormFileInput,
18+
FormInputIcon,
1719
FormGroup,
1820
FormGroupAddon,
1921
FormInput,

0 commit comments

Comments
 (0)