Commit c0d09051434bc3db868c109ff27f8bd417c7675b
1 parent
eccaa940
update Input append&prepend border-radius
Showing
2 changed files
with
86 additions
and
96 deletions
Show diff stats
examples/routers/input.vue
| 1 | 1 | <template> |
| 2 | - <Form ref="formCustom" :model="formCustom" :rules="ruleCustom" :label-width="80"> | |
| 3 | - <FormItem label="Password" prop="passwd"> | |
| 4 | - <Input type="password" v-model="formCustom.passwd"></Input> | |
| 5 | - </FormItem> | |
| 6 | - <FormItem label="Confirm" prop="passwdCheck"> | |
| 7 | - <Input type="password" v-model="formCustom.passwdCheck"></Input> | |
| 8 | - </FormItem> | |
| 9 | - <FormItem label="Age" prop="age"> | |
| 10 | - <Input type="text" v-model="formCustom.age" number></Input> | |
| 11 | - </FormItem> | |
| 12 | - <FormItem> | |
| 13 | - <Button type="primary" @click="handleSubmit('formCustom')">Submit</Button> | |
| 14 | - <Button type="ghost" @click="handleReset('formCustom')" style="margin-left: 8px">Reset</Button> | |
| 15 | - </FormItem> | |
| 16 | - <br><br> | |
| 17 | - <Icon class="ivu-load-loop" type="ios-loading" size="14" color="#ff6600" /> | |
| 2 | + <div> | |
| 3 | + <Input v-model="value" placeholder="Enter something..." style="width: 300px"></Input> | |
| 4 | + <Input v-model="value11"> | |
| 5 | + <span slot="prepend">http://</span> | |
| 6 | + <span slot="append">.com</span> | |
| 7 | + </Input> | |
| 8 | + <br> | |
| 9 | + <Input v-model="value12"> | |
| 10 | + <Select v-model="select1" slot="prepend" style="width: 80px"> | |
| 11 | + <Option value="http">http://</Option> | |
| 12 | + <Option value="https">https://</Option> | |
| 13 | + </Select> | |
| 14 | + <Select v-model="select2" slot="append" style="width: 70px"> | |
| 15 | + <Option value="com">.com</Option> | |
| 16 | + <Option value="org">.org</Option> | |
| 17 | + <Option value="io">.io</Option> | |
| 18 | + </Select> | |
| 19 | + </Input> | |
| 20 | + <br> | |
| 21 | + <Input v-model="value13"> | |
| 22 | + <Select v-model="select3" slot="prepend" style="width: 80px"> | |
| 23 | + <Option value="day">Day</Option> | |
| 24 | + <Option value="month">Month</Option> | |
| 25 | + </Select> | |
| 26 | + <Button slot="append" icon="ios-search"></Button> | |
| 27 | + </Input> | |
| 28 | + <br> | |
| 18 | 29 | |
| 19 | - <Icon class="ivu-load-loop" type="ios-loading" size="12" color="#ff6600" /> | |
| 20 | - <Icon class="ivu-load-loop" type="ios-loading" size="13" color="#ff6600" /> | |
| 30 | + <Input v-model="value11" size="small"> | |
| 31 | + <span slot="prepend">http://</span> | |
| 32 | + <span slot="append">.com</span> | |
| 33 | + </Input> | |
| 34 | + <br> | |
| 35 | + <Input v-model="value12" size="small"> | |
| 36 | + <Select v-model="select1" slot="prepend" style="width: 80px"> | |
| 37 | + <Option value="http">http://</Option> | |
| 38 | + <Option value="https">https://</Option> | |
| 39 | + </Select> | |
| 40 | + <Select v-model="select2" slot="append" style="width: 70px"> | |
| 41 | + <Option value="com">.com</Option> | |
| 42 | + <Option value="org">.org</Option> | |
| 43 | + <Option value="io">.io</Option> | |
| 44 | + </Select> | |
| 45 | + </Input> | |
| 46 | + <br> | |
| 47 | + <Input v-model="value13" size="small"> | |
| 48 | + <Select v-model="select3" slot="prepend" style="width: 80px"> | |
| 49 | + <Option value="day">Day</Option> | |
| 50 | + <Option value="month">Month</Option> | |
| 51 | + </Select> | |
| 52 | + <Button slot="append" icon="ios-search"></Button> | |
| 53 | + </Input> | |
| 54 | + <br> | |
| 21 | 55 | |
| 22 | - <Icon class="ivu-load-loop" type="ios-loading" size="16" color="#ff6600" /> | |
| 23 | - <Icon class="ivu-load-loop" type="ios-loading" size="18" color="#ff6600" /> | |
| 24 | - <Icon class="ivu-load-loop" type="ios-loading" size="20" color="#ff6600" /> | |
| 25 | - <Icon class="ivu-load-loop" type="ios-loading" size="30" color="#ff6600" /> | |
| 26 | - <Icon class="ivu-load-loop" type="ios-loading" size="30" color="#ff6600" /> | |
| 27 | - | |
| 28 | - <Icon type="ios-alert" size="30" color="#ff6600" /> | |
| 29 | - <Icon class="ivu-load-loop" type="ios-loading" size="30" color="#ff6600" /> | |
| 30 | - </Form> | |
| 56 | + <Input v-model="value11" size="large"> | |
| 57 | + <span slot="prepend">http://</span> | |
| 58 | + <span slot="append">.com</span> | |
| 59 | + </Input> | |
| 60 | + <br> | |
| 61 | + <Input v-model="value12" size="large"> | |
| 62 | + <Select v-model="select1" slot="prepend" style="width: 80px"> | |
| 63 | + <Option value="http">http://</Option> | |
| 64 | + <Option value="https">https://</Option> | |
| 65 | + </Select> | |
| 66 | + <Select v-model="select2" slot="append" style="width: 70px"> | |
| 67 | + <Option value="com">.com</Option> | |
| 68 | + <Option value="org">.org</Option> | |
| 69 | + <Option value="io">.io</Option> | |
| 70 | + </Select> | |
| 71 | + </Input> | |
| 72 | + <br> | |
| 73 | + <Input v-model="value13" size="large"> | |
| 74 | + <Select v-model="select3" slot="prepend" style="width: 80px"> | |
| 75 | + <Option value="day">Day</Option> | |
| 76 | + <Option value="month">Month</Option> | |
| 77 | + </Select> | |
| 78 | + <Button slot="append" icon="ios-search"></Button> | |
| 79 | + </Input> | |
| 80 | + <br> | |
| 81 | + </div> | |
| 31 | 82 | </template> |
| 32 | 83 | <script> |
| 33 | 84 | export default { |
| 34 | 85 | data () { |
| 35 | - const validatePass = (rule, value, callback) => { | |
| 36 | - if (value === '') { | |
| 37 | - callback(new Error('Please enter your password')); | |
| 38 | - } else { | |
| 39 | - if (this.formCustom.passwdCheck !== '') { | |
| 40 | - // 对第二个密码框单独验证 | |
| 41 | - this.$refs.formCustom.validateField('passwdCheck'); | |
| 42 | - } | |
| 43 | - callback(); | |
| 44 | - } | |
| 45 | - }; | |
| 46 | - const validatePassCheck = (rule, value, callback) => { | |
| 47 | - if (value === '') { | |
| 48 | - callback(new Error('Please enter your password again')); | |
| 49 | - } else if (value !== this.formCustom.passwd) { | |
| 50 | - callback(new Error('The two input passwords do not match!')); | |
| 51 | - } else { | |
| 52 | - callback(); | |
| 53 | - } | |
| 54 | - }; | |
| 55 | - const validateAge = (rule, value, callback) => { | |
| 56 | - if (!value) { | |
| 57 | - return callback(new Error('Age cannot be empty')); | |
| 58 | - } | |
| 59 | - // 模拟异步验证效果 | |
| 60 | - setTimeout(() => { | |
| 61 | - if (!Number.isInteger(value)) { | |
| 62 | - callback(new Error('Please enter a numeric value')); | |
| 63 | - } else { | |
| 64 | - if (value < 18) { | |
| 65 | - callback(new Error('Must be over 18 years of age')); | |
| 66 | - } else { | |
| 67 | - callback(); | |
| 68 | - } | |
| 69 | - } | |
| 70 | - }, 1000); | |
| 71 | - }; | |
| 72 | - | |
| 73 | 86 | return { |
| 74 | - formCustom: { | |
| 75 | - passwd: '', | |
| 76 | - passwdCheck: '', | |
| 77 | - age: '' | |
| 78 | - }, | |
| 79 | - ruleCustom: { | |
| 80 | - passwd: [ | |
| 81 | - { validator: validatePass, trigger: 'blur' } | |
| 82 | - ], | |
| 83 | - passwdCheck: [ | |
| 84 | - { validator: validatePassCheck, trigger: 'blur' } | |
| 85 | - ], | |
| 86 | - age: [ | |
| 87 | - { validator: validateAge, trigger: 'blur' } | |
| 88 | - ] | |
| 89 | - } | |
| 90 | - } | |
| 91 | - }, | |
| 92 | - methods: { | |
| 93 | - handleSubmit (name) { | |
| 94 | - this.$refs[name].validate((valid) => { | |
| 95 | - if (valid) { | |
| 96 | - this.$Message.success('Success!'); | |
| 97 | - } else { | |
| 98 | - this.$Message.error('Fail!'); | |
| 99 | - } | |
| 100 | - }) | |
| 101 | - }, | |
| 102 | - handleReset (name) { | |
| 103 | - this.$refs[name].resetFields(); | |
| 87 | + value: '', | |
| 88 | + value11: '', | |
| 89 | + value12: '', | |
| 90 | + value13: '', | |
| 91 | + select1: 'http', | |
| 92 | + select2: 'com', | |
| 93 | + select3: 'day' | |
| 104 | 94 | } |
| 105 | 95 | } |
| 106 | 96 | } | ... | ... |
src/styles/mixins/input.less
| ... | ... | @@ -178,7 +178,7 @@ |
| 178 | 178 | text-align: center; |
| 179 | 179 | background-color: #eee; |
| 180 | 180 | border: 1px solid @input-border-color; |
| 181 | - border-radius: @border-radius-base; | |
| 181 | + border-radius: @btn-border-radius; | |
| 182 | 182 | |
| 183 | 183 | // Reset Select's style in addon |
| 184 | 184 | .@{css-prefix}select { | ... | ... |