Commit 0a48ac45a4ce4ab67d2f0c2634a7f75a2111e8f4

Authored by 梁灏
1 parent c571d9ec

Input add readonly prop & focus、blur events

Input add readonly prop & focus、blur events
src/components/cascader/cascader.vue 0 → 100644
  1 +<template>
  2 +
  3 +</template>
  4 +<script>
  5 + export default {
  6 + props: {
  7 +
  8 + },
  9 + data () {
  10 + return {
  11 +
  12 + }
  13 + },
  14 + computed: {
  15 +
  16 + },
  17 + methods: {
  18 +
  19 + }
  20 + }
  21 +</script>
0 \ No newline at end of file 22 \ No newline at end of file
src/components/cascader/index.js 0 → 100644
  1 +import Cascader from './cascader.vue';
  2 +export default Cascader;
0 \ No newline at end of file 3 \ No newline at end of file
src/components/input/input.vue
@@ -9,8 +9,11 @@ @@ -9,8 +9,11 @@
9 :placeholder="placeholder" 9 :placeholder="placeholder"
10 :disabled="disabled" 10 :disabled="disabled"
11 :maxlength="maxlength" 11 :maxlength="maxlength"
  12 + :readonly="readonly"
12 v-model="value" 13 v-model="value"
13 - @keyup.enter="handleEnter"> 14 + @keyup.enter="handleEnter"
  15 + @focus="handleFocus"
  16 + @blur="handleBlur">
14 <div :class="[prefixCls + '-group-append']" v-if="append" v-el:append><slot name="append"></slot></div> 17 <div :class="[prefixCls + '-group-append']" v-if="append" v-el:append><slot name="append"></slot></div>
15 </template> 18 </template>
16 <textarea 19 <textarea
@@ -22,8 +25,11 @@ @@ -22,8 +25,11 @@
22 :disabled="disabled" 25 :disabled="disabled"
23 :rows="rows" 26 :rows="rows"
24 :maxlength="maxlength" 27 :maxlength="maxlength"
  28 + :readonly="readonly"
25 v-model="value" 29 v-model="value"
26 - @keyup.enter="handleEnter"> 30 + @keyup.enter="handleEnter"
  31 + @focus="handleFocus"
  32 + @blur="handleBlur">
27 </textarea> 33 </textarea>
28 </div> 34 </div>
29 </template> 35 </template>
@@ -70,6 +76,10 @@ @@ -70,6 +76,10 @@
70 rows: { 76 rows: {
71 type: Number, 77 type: Number,
72 default: 2 78 default: 2
  79 + },
  80 + readonly: {
  81 + type: Boolean,
  82 + default: false
73 } 83 }
74 }, 84 },
75 data () { 85 data () {
@@ -117,6 +127,12 @@ @@ -117,6 +127,12 @@
117 handleIconClick () { 127 handleIconClick () {
118 this.$emit('on-click'); 128 this.$emit('on-click');
119 }, 129 },
  130 + handleFocus () {
  131 + this.$emit('on-focus');
  132 + },
  133 + handleBlur () {
  134 + this.$emit('on-blur');
  135 + },
120 resizeTextarea () { 136 resizeTextarea () {
121 const autosize = this.autosize; 137 const autosize = this.autosize;
122 if (!autosize || this.type !== 'textarea') { 138 if (!autosize || this.type !== 'textarea') {
@@ -5,6 +5,7 @@ import Badge from &#39;./components/badge&#39;; @@ -5,6 +5,7 @@ import Badge from &#39;./components/badge&#39;;
5 import Breadcrumb from './components/breadcrumb'; 5 import Breadcrumb from './components/breadcrumb';
6 import Button from './components/button'; 6 import Button from './components/button';
7 import Card from './components/card'; 7 import Card from './components/card';
  8 +import Cascader from './components/cascader';
8 import Checkbox from './components/checkbox'; 9 import Checkbox from './components/checkbox';
9 import Circle from './components/circle'; 10 import Circle from './components/circle';
10 import Collapse from './components/collapse'; 11 import Collapse from './components/collapse';
@@ -40,6 +41,7 @@ const iview = { @@ -40,6 +41,7 @@ const iview = {
40 iButton: Button, 41 iButton: Button,
41 ButtonGroup: Button.Group, 42 ButtonGroup: Button.Group,
42 Card, 43 Card,
  44 + Cascader,
43 Checkbox, 45 Checkbox,
44 CheckboxGroup: Checkbox.Group, 46 CheckboxGroup: Checkbox.Group,
45 Circle, 47 Circle,
@@ -41,6 +41,7 @@ li + li { @@ -41,6 +41,7 @@ li + li {
41 <li><a v-link="'/alert'">Alert</a></li> 41 <li><a v-link="'/alert'">Alert</a></li>
42 <li><a v-link="'/tag'">Tag</a></li> 42 <li><a v-link="'/tag'">Tag</a></li>
43 <li><a v-link="'/input'">Input</a></li> 43 <li><a v-link="'/input'">Input</a></li>
  44 + <li><a v-link="'/cascader'">Cascader</a></li>
44 </ul> 45 </ul>
45 </nav> 46 </nav>
46 <router-view></router-view> 47 <router-view></router-view>
@@ -92,6 +92,11 @@ router.map({ @@ -92,6 +92,11 @@ router.map({
92 component: function (resolve) { 92 component: function (resolve) {
93 require(['./routers/tooltip.vue'], resolve); 93 require(['./routers/tooltip.vue'], resolve);
94 } 94 }
  95 + },
  96 + '/cascader': {
  97 + component: function (resolve) {
  98 + require(['./routers/cascader.vue'], resolve);
  99 + }
95 } 100 }
96 }); 101 });
97 102
test/routers/cascader.vue 0 → 100644
  1 +<template>
  2 +
  3 +</template>
  4 +<script>
  5 + export default {
  6 + props: {
  7 +
  8 + },
  9 + data () {
  10 + return {
  11 +
  12 + }
  13 + },
  14 + computed: {
  15 +
  16 + },
  17 + methods: {
  18 +
  19 + }
  20 + }
  21 +</script>
0 \ No newline at end of file 22 \ No newline at end of file
test/routers/input.vue
1 <template> 1 <template>
2 - <i-input icon="ios-clock-outline" style="width:200px;" :value.sync="v" @on-enter="enter" @on-click="iconclick" size="large" placeholder="请输入"></i-input> 2 + <i-input icon="ios-clock-outline" @on-focus="focus" @on-blur="blur" readonly style="width:200px;" :value.sync="v" @on-enter="enter" @on-click="iconclick" size="large" placeholder="请输入"></i-input>
3 <i-input icon="ios-clock-outline" style="width:200px;" :value.sync="v" @on-enter="enter" placeholder="请输入"></i-input> 3 <i-input icon="ios-clock-outline" style="width:200px;" :value.sync="v" @on-enter="enter" placeholder="请输入"></i-input>
4 <i-input icon="ios-clock-outline" style="width:200px;" :value.sync="v" @on-enter="enter" size="small" placeholder="请输入"></i-input> 4 <i-input icon="ios-clock-outline" style="width:200px;" :value.sync="v" @on-enter="enter" size="small" placeholder="请输入"></i-input>
5 <br> 5 <br>
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
10 {{ v }} 10 {{ v }}
11 <br> 11 <br>
12 <br> 12 <br>
13 - <i-input placeholder="this is something" style="width:200px;" :value.sync="t" type="textarea" :autosize="autosize"></i-input> 13 + <i-input readonly placeholder="this is something" style="width:200px;" :value.sync="t" type="textarea" :autosize="autosize"></i-input>
14 {{ t }} 14 {{ t }}
15 <br> 15 <br>
16 <br> 16 <br>
@@ -116,6 +116,12 @@ @@ -116,6 +116,12 @@
116 }, 116 },
117 change (val) { 117 change (val) {
118 console.log(val) 118 console.log(val)
  119 + },
  120 + focus () {
  121 + this.$Message.info('focus');
  122 + },
  123 + blur () {
  124 + this.$Message.info('blur');
119 } 125 }
120 } 126 }
121 } 127 }