Commit 8bca10707b9f9497e34688f5ac02440c46b2387b
1 parent
e011898c
update Input on-form-change trigger timing #198
update Input on-form-change trigger timing #198
Showing
2 changed files
with
28 additions
and
486 deletions
Show diff stats
src/components/input/input.vue
| ... | ... | @@ -150,7 +150,6 @@ |
| 150 | 150 | }, |
| 151 | 151 | handleChange (event) { |
| 152 | 152 | this.$emit('on-change', event); |
| 153 | - this.$dispatch('on-form-change', this.value); | |
| 154 | 153 | }, |
| 155 | 154 | resizeTextarea () { |
| 156 | 155 | const autosize = this.autosize; |
| ... | ... | @@ -169,6 +168,7 @@ |
| 169 | 168 | this.$nextTick(() => { |
| 170 | 169 | this.resizeTextarea(); |
| 171 | 170 | }); |
| 171 | + this.$dispatch('on-form-change', this.value); | |
| 172 | 172 | } |
| 173 | 173 | }, |
| 174 | 174 | ready () { | ... | ... |
test/routers/form.vue
| 1 | 1 | <template> |
| 2 | - <div style="width: 600px"> | |
| 3 | - <i-form v-ref:form-custom :model="formCustom" :rules="ruleCustom" :label-width="80"> | |
| 4 | - <Form-item label="密码" prop="passwd"> | |
| 5 | - <i-input type="password" :value.sync="formCustom.passwd"></i-input> | |
| 6 | - </Form-item> | |
| 7 | - <Form-item label="确认密码" prop="passwdCheck"> | |
| 8 | - <i-input type="password" :value.sync="formCustom.passwdCheck"></i-input> | |
| 9 | - </Form-item> | |
| 10 | - <Form-item label="年龄" prop="age"> | |
| 11 | - <i-input type="text" :value.sync="formCustom.age" number></i-input> | |
| 12 | - </Form-item> | |
| 13 | - <Form-item> | |
| 14 | - <i-button type="primary" @click="handleSubmit('formCustom')">提交</i-button> | |
| 15 | - <i-button type="ghost" @click="handleReset('formCustom')" style="margin-left: 8px">重置</i-button> | |
| 16 | - </Form-item> | |
| 17 | - </i-form> | |
| 18 | - | |
| 19 | - | |
| 20 | - | |
| 21 | - <i-form v-ref:form :model="form" :rules="rules" :label-width="100" label-position="right"> | |
| 22 | - <form-item label="邮箱" prop="mail"> | |
| 23 | - <i-input :value.sync="form.mail" placeholder="请输入邮箱"> | |
| 24 | - <Icon type="ios-email-outline" slot="prepend"></Icon> | |
| 25 | - </i-input> | |
| 26 | - </form-item> | |
| 27 | - <form-item label="密码" prop="passwd"> | |
| 28 | - <i-input :value.sync="form.passwd"> | |
| 29 | - <i-select slot="prepend" style="width: 80px"> | |
| 30 | - <i-option value="http">http://</i-option> | |
| 31 | - <i-option value="https">https://</i-option> | |
| 32 | - </i-select> | |
| 33 | - <i-select slot="append" style="width: 70px"> | |
| 34 | - <i-option value="com">.com</i-option> | |
| 35 | - <i-option value="org">.org</i-option> | |
| 36 | - <i-option value="io">.io</i-option> | |
| 37 | - </i-select> | |
| 38 | - </i-input> | |
| 39 | - </form-item> | |
| 40 | - <form-item label="textarea" prop="textarea"> | |
| 41 | - <i-input :value.sync="form.textarea" type="textarea" :autosize="{minRows: 2,maxRows: 5}" placeholder="请输入..."></i-input> | |
| 42 | - </form-item> | |
| 43 | - <form-item label="radio" prop="single"> | |
| 44 | - <radio :checked.sync="form.single">Single</radio> | |
| 45 | - </form-item> | |
| 46 | - <form-item label="radioGroup" prop="group"> | |
| 47 | - <Radio-group :model.sync="form.group"> | |
| 48 | - <Radio value="apple"> | |
| 49 | - <Icon type="social-apple"></Icon> | |
| 50 | - <span>Apple</span> | |
| 51 | - </Radio> | |
| 52 | - <Radio value="android"> | |
| 53 | - <Icon type="social-android"></Icon> | |
| 54 | - <span>Android</span> | |
| 55 | - </Radio> | |
| 56 | - <Radio value="windows"> | |
| 57 | - <Icon type="social-windows"></Icon> | |
| 58 | - <span>Windows</span> | |
| 59 | - </Radio> | |
| 60 | - </Radio-group> | |
| 61 | - </form-item> | |
| 62 | - <form-item label="checkbox-g" prop="checkboxgroup"> | |
| 63 | - <Checkbox-group :model.sync="form.checkboxgroup"> | |
| 64 | - <Checkbox value="twitter"> | |
| 65 | - <Icon type="social-twitter"></Icon> | |
| 66 | - <span>Twitter</span> | |
| 67 | - </Checkbox> | |
| 68 | - <Checkbox value="facebook"> | |
| 69 | - <Icon type="social-facebook"></Icon> | |
| 70 | - <span>Facebook</span> | |
| 71 | - </Checkbox> | |
| 72 | - <Checkbox value="github"> | |
| 73 | - <Icon type="social-github"></Icon> | |
| 74 | - <span>Github</span> | |
| 75 | - </Checkbox> | |
| 76 | - <Checkbox value="snapchat"> | |
| 77 | - <Icon type="social-snapchat"></Icon> | |
| 78 | - <span>Snapchat</span> | |
| 79 | - </Checkbox> | |
| 80 | - <Checkbox value="twitter"> | |
| 81 | - <Icon type="social-twitter"></Icon> | |
| 82 | - <span>Twitter</span> | |
| 83 | - </Checkbox> | |
| 84 | - <Checkbox value="facebook"> | |
| 85 | - <Icon type="social-facebook"></Icon> | |
| 86 | - <span>Facebook</span> | |
| 87 | - </Checkbox> | |
| 88 | - <Checkbox value="github"> | |
| 89 | - <Icon type="social-github"></Icon> | |
| 90 | - <span>Github</span> | |
| 91 | - </Checkbox> | |
| 92 | - <Checkbox value="snapchat"> | |
| 93 | - <Icon type="social-snapchat"></Icon> | |
| 94 | - <span>Snapchat</span> | |
| 95 | - </Checkbox> | |
| 96 | - <Checkbox value="twitter"> | |
| 97 | - <Icon type="social-twitter"></Icon> | |
| 98 | - <span>Twitter</span> | |
| 99 | - </Checkbox> | |
| 100 | - <Checkbox value="facebook"> | |
| 101 | - <Icon type="social-facebook"></Icon> | |
| 102 | - <span>Facebook</span> | |
| 103 | - </Checkbox> | |
| 104 | - <Checkbox value="github"> | |
| 105 | - <Icon type="social-github"></Icon> | |
| 106 | - <span>Github</span> | |
| 107 | - </Checkbox> | |
| 108 | - <Checkbox value="snapchat"> | |
| 109 | - <Icon type="social-snapchat"></Icon> | |
| 110 | - <span>Snapchat</span> | |
| 111 | - </Checkbox> | |
| 112 | - <Checkbox value="twitter"> | |
| 113 | - <Icon type="social-twitter"></Icon> | |
| 114 | - <span>Twitter</span> | |
| 115 | - </Checkbox> | |
| 116 | - <Checkbox value="facebook"> | |
| 117 | - <Icon type="social-facebook"></Icon> | |
| 118 | - <span>Facebook</span> | |
| 119 | - </Checkbox> | |
| 120 | - <Checkbox value="github"> | |
| 121 | - <Icon type="social-github"></Icon> | |
| 122 | - <span>Github</span> | |
| 123 | - </Checkbox> | |
| 124 | - <Checkbox value="snapchat"> | |
| 125 | - <Icon type="social-snapchat"></Icon> | |
| 126 | - <span>Snapchat</span> | |
| 127 | - </Checkbox> | |
| 128 | - <Checkbox value="twitter"> | |
| 129 | - <Icon type="social-twitter"></Icon> | |
| 130 | - <span>Twitter</span> | |
| 131 | - </Checkbox> | |
| 132 | - <Checkbox value="facebook"> | |
| 133 | - <Icon type="social-facebook"></Icon> | |
| 134 | - <span>Facebook</span> | |
| 135 | - </Checkbox> | |
| 136 | - <Checkbox value="github"> | |
| 137 | - <Icon type="social-github"></Icon> | |
| 138 | - <span>Github</span> | |
| 139 | - </Checkbox> | |
| 140 | - <Checkbox value="snapchat"> | |
| 141 | - <Icon type="social-snapchat"></Icon> | |
| 142 | - <span>Snapchat</span> | |
| 143 | - </Checkbox> | |
| 144 | - <Checkbox value="twitter"> | |
| 145 | - <Icon type="social-twitter"></Icon> | |
| 146 | - <span>Twitter</span> | |
| 147 | - </Checkbox> | |
| 148 | - <Checkbox value="facebook"> | |
| 149 | - <Icon type="social-facebook"></Icon> | |
| 150 | - <span>Facebook</span> | |
| 151 | - </Checkbox> | |
| 152 | - <Checkbox value="github"> | |
| 153 | - <Icon type="social-github"></Icon> | |
| 154 | - <span>Github</span> | |
| 155 | - </Checkbox> | |
| 156 | - <Checkbox value="snapchat"> | |
| 157 | - <Icon type="social-snapchat"></Icon> | |
| 158 | - <span>Snapchat</span> | |
| 159 | - </Checkbox> | |
| 160 | - </Checkbox-group> | |
| 161 | - </form-item> | |
| 162 | - <form-item label="select" prop="select"> | |
| 163 | - <i-select :model.sync="form.select" style="width:200px" clearable> | |
| 164 | - <i-option v-for="item in cityList" :value="item.value">{{ item.label }}</i-option> | |
| 165 | - </i-select> | |
| 166 | - <i-select :model.sync="model11" filterable> | |
| 167 | - <i-option v-for="item in cityList" :value="item.value">{{ item.label }}</i-option> | |
| 168 | - </i-select> | |
| 169 | - <i-select :model.sync="model12" filterable multiple> | |
| 170 | - <i-option v-for="item in cityList" :value="item.value">{{ item.label }}</i-option> | |
| 171 | - </i-select> | |
| 172 | - </form-item> | |
| 173 | - <form-item label="select多选" prop="selectm"> | |
| 174 | - <i-select :model.sync="form.selectm" multiple style="width:260px"> | |
| 175 | - <i-option v-for="item in cityList" :value="item.value">{{ item.label }}</i-option> | |
| 176 | - </i-select> | |
| 177 | - </form-item> | |
| 178 | - <form-item label="多选滑块" prop="slider"> | |
| 179 | - <Slider :value.sync="form.slider" range></Slider> | |
| 180 | - </form-item> | |
| 181 | - <form-item label="日期" prop="date"> | |
| 182 | - <Time-picker :value.sync="form.date" type="time" placeholder="选择时间" style="width: 168px"></Time-picker> | |
| 183 | - </form-item> | |
| 184 | - <form-item label="两个日期" prop="date2"> | |
| 185 | - <Date-picker :value.sync="form.date2" type="daterange" placement="bottom-start" placeholder="选择日期" @on-change="c"></Date-picker> | |
| 186 | - </form-item> | |
| 187 | - <form-item label="级联" prop="cascader"> | |
| 188 | - <Cascader :data="data" :value.sync="form.cascader"></Cascader> | |
| 189 | - </form-item> | |
| 190 | - <form-item label="穿梭框" prop="targetKeys1"> | |
| 191 | - <Transfer | |
| 192 | - :data="form.transfer" | |
| 193 | - :target-keys="form.targetKeys1" | |
| 194 | - :render-format="render1" | |
| 195 | - @on-change="handleChange1"></Transfer> | |
| 196 | - </form-item> | |
| 197 | - <form-item label="数字输入框" prop="input"> | |
| 198 | - <Input-number :max="10" :min="1" :value.sync="form.input"></Input-number> | |
| 199 | - </form-item> | |
| 200 | - <form-item> | |
| 201 | - <i-button type="primary" @click="onSubmit('form')">提交</i-button> | |
| 202 | - <i-button type="ghost" @click="resetForm('form')">重置</i-button> | |
| 203 | - </form-item> | |
| 204 | - </i-form> | |
| 205 | - </div> | |
| 2 | + <i-form v-ref:form-inline :model="formInline" :rules="ruleInline" inline> | |
| 3 | + <Form-item prop="user"> | |
| 4 | + <i-input type="text" :value.sync="formInline.user" placeholder="Username"> | |
| 5 | + <Icon type="ios-person-outline" slot="prepend"></Icon> | |
| 6 | + </i-input> | |
| 7 | + </Form-item> | |
| 8 | + <Form-item prop="password"> | |
| 9 | + <i-input type="password" :value.sync="formInline.password" placeholder="Password"> | |
| 10 | + <Icon type="ios-locked-outline" slot="prepend"></Icon> | |
| 11 | + </i-input> | |
| 12 | + </Form-item> | |
| 13 | + <Form-item> | |
| 14 | + <i-button type="primary" @click="handleSubmit('formInline')">登录</i-button> | |
| 15 | + </Form-item> | |
| 16 | + </i-form> | |
| 206 | 17 | </template> |
| 207 | 18 | <script> |
| 208 | 19 | export default { |
| 209 | - props: {}, | |
| 210 | 20 | data () { |
| 211 | - const validatePass = (rule, value, callback) => { | |
| 212 | - if (value === '') { | |
| 213 | - callback(new Error('请输入密码')); | |
| 214 | - } else { | |
| 215 | - if (this.formCustom.passwdCheck !== '') { | |
| 216 | - this.$refs.formCustom.validateField('passwdCheck'); | |
| 217 | - } | |
| 218 | - callback(); | |
| 219 | - } | |
| 220 | - }; | |
| 221 | - const validatePassCheck = (rule, value, callback) => { | |
| 222 | - if (value === '') { | |
| 223 | - callback(new Error('请再次输入密码')); | |
| 224 | - } else if (value !== this.formCustom.passwd) { | |
| 225 | - callback(new Error('两次输入密码不一致!')); | |
| 226 | - } else { | |
| 227 | - callback(); | |
| 228 | - } | |
| 229 | - }; | |
| 230 | - const validateAge = (rule, value, callback) => { | |
| 231 | - if (!value) { | |
| 232 | - return callback(new Error('年龄不能为空')); | |
| 233 | - } | |
| 234 | - setTimeout(() => { | |
| 235 | - if (!Number.isInteger(value)) { | |
| 236 | - callback(new Error('请输入数字值')); | |
| 237 | - } else { | |
| 238 | - if (value < 18) { | |
| 239 | - callback(new Error('必须年满18岁')); | |
| 240 | - } else { | |
| 241 | - callback(); | |
| 242 | - } | |
| 243 | - } | |
| 244 | - }, 1000); | |
| 245 | - }; | |
| 246 | - | |
| 247 | 21 | return { |
| 248 | - data: [{ | |
| 249 | - value: 'beijing', | |
| 250 | - label: '北京', | |
| 251 | - children: [ | |
| 252 | - { | |
| 253 | - value: 'gugong', | |
| 254 | - label: '故宫' | |
| 255 | - }, | |
| 256 | - { | |
| 257 | - value: 'tiantan', | |
| 258 | - label: '天坛' | |
| 259 | - }, | |
| 260 | - { | |
| 261 | - value: 'wangfujing', | |
| 262 | - label: '王府井' | |
| 263 | - } | |
| 264 | - ] | |
| 265 | - }, { | |
| 266 | - value: 'jiangsu', | |
| 267 | - label: '江苏', | |
| 268 | - children: [ | |
| 269 | - { | |
| 270 | - value: 'nanjing', | |
| 271 | - label: '南京', | |
| 272 | - children: [ | |
| 273 | - { | |
| 274 | - value: 'fuzimiao', | |
| 275 | - label: '夫子庙', | |
| 276 | - } | |
| 277 | - ] | |
| 278 | - }, | |
| 279 | - { | |
| 280 | - value: 'suzhou', | |
| 281 | - label: '苏州', | |
| 282 | - children: [ | |
| 283 | - { | |
| 284 | - value: 'zhuozhengyuan', | |
| 285 | - label: '拙政园', | |
| 286 | - }, | |
| 287 | - { | |
| 288 | - value: 'shizilin', | |
| 289 | - label: '狮子林', | |
| 290 | - } | |
| 291 | - ] | |
| 292 | - } | |
| 293 | - ], | |
| 294 | - }], | |
| 295 | - cityList: [ | |
| 296 | - { | |
| 297 | - value: 'beijing', | |
| 298 | - label: '北京市' | |
| 299 | - }, | |
| 300 | - { | |
| 301 | - value: 'shanghai', | |
| 302 | - label: '上海市' | |
| 303 | - }, | |
| 304 | - { | |
| 305 | - value: 'shenzhen', | |
| 306 | - label: '深圳市' | |
| 307 | - }, | |
| 308 | - { | |
| 309 | - value: 'hangzhou', | |
| 310 | - label: '杭州市' | |
| 311 | - }, | |
| 312 | - { | |
| 313 | - value: 'nanjing', | |
| 314 | - label: '南京市' | |
| 315 | - }, | |
| 316 | - { | |
| 317 | - value: 'chongqing', | |
| 318 | - label: '重庆市' | |
| 319 | - } | |
| 320 | - ], | |
| 321 | - form: { | |
| 322 | - mail: '', | |
| 323 | - passwd: '', | |
| 324 | - single: false, | |
| 325 | - group: '', | |
| 326 | - checkboxgroup: [], | |
| 327 | - select: '', | |
| 328 | - selectm: [], | |
| 329 | - slider: [40, 50], | |
| 330 | - date: '', | |
| 331 | - date2: '', | |
| 332 | - cascader: [], | |
| 333 | - transfer: this.getMockData(), | |
| 334 | - targetKeys1: this.getTargetKeys(), | |
| 335 | - input: 1, | |
| 336 | - textarea: '' | |
| 337 | - }, | |
| 338 | - rules: { | |
| 339 | - mail: [ | |
| 340 | - { | |
| 341 | - required: true, message: '请输入正确的邮箱', trigger: 'blur', type: 'email' | |
| 342 | - }, | |
| 343 | - { | |
| 344 | - min: 3, max: 50, message: '长度在 3 到 50 个字符', trigger: 'blur' | |
| 345 | - }, | |
| 346 | - { | |
| 347 | - min: 3, max: 50, message: '长度在 3 到 5 个字符', trigger: 'change' | |
| 348 | - } | |
| 349 | - ], | |
| 350 | - passwd: [ | |
| 351 | - { | |
| 352 | - required: true, message: '请输入密码', trigger: 'blur' | |
| 353 | - } | |
| 354 | - ], | |
| 355 | - group: [ | |
| 356 | - { | |
| 357 | - required: true, message: '请单选组' | |
| 358 | - } | |
| 359 | - ], | |
| 360 | - checkboxgroup: [ | |
| 361 | - { | |
| 362 | - required: true, message: '至少选择2个', min: 2, type: 'array', | |
| 363 | - }, | |
| 364 | - { | |
| 365 | - required: true, message: '至多选择3个', max: 3, type: 'array' | |
| 366 | - } | |
| 367 | - ], | |
| 368 | - select: [ | |
| 369 | - { | |
| 370 | - required: true | |
| 371 | - } | |
| 372 | - ], | |
| 373 | - slider: [ | |
| 374 | - { | |
| 375 | - type: 'array', len: 2, | |
| 376 | - fields: { | |
| 377 | - 0: { | |
| 378 | - type: 'number', min: 30, 'message': '不能小于30' | |
| 379 | - }, | |
| 380 | - 1: { | |
| 381 | - type: 'number', max: 90, 'message': '不能大于90' | |
| 382 | - } | |
| 383 | - } | |
| 384 | - } | |
| 385 | - ], | |
| 386 | - date: [ | |
| 387 | - { | |
| 388 | - required: true | |
| 389 | - }, | |
| 390 | - { | |
| 391 | - type: 'date' | |
| 392 | - } | |
| 393 | - ], | |
| 394 | - date2: [ | |
| 395 | - { | |
| 396 | - type: 'array', len: 2, | |
| 397 | - fields: { | |
| 398 | - 0: { | |
| 399 | - type: 'date', required: true | |
| 400 | - }, | |
| 401 | - 1: { | |
| 402 | - type: 'date', required: true | |
| 403 | - } | |
| 404 | - } | |
| 405 | - } | |
| 406 | - ], | |
| 407 | - cascader: [ | |
| 408 | - { | |
| 409 | - type: 'array', required: true | |
| 410 | - } | |
| 411 | - ], | |
| 412 | - targetKeys1: [ | |
| 413 | - { | |
| 414 | - type: 'array', min: 8, max: 10 | |
| 415 | - } | |
| 416 | - ], | |
| 417 | - input: [ | |
| 418 | - { | |
| 419 | - type: 'number', min: 1, max: 4 | |
| 420 | - } | |
| 421 | - ], | |
| 422 | - textarea: [ | |
| 423 | - { | |
| 424 | - required: true, trigger: 'blur' | |
| 425 | - }, | |
| 426 | - { | |
| 427 | - type: 'string', min: 10 | |
| 428 | - } | |
| 429 | - ] | |
| 430 | - }, | |
| 431 | - formCustom: { | |
| 432 | - passwd: '', | |
| 433 | - passwdCheck: '', | |
| 434 | - age: '' | |
| 22 | + formInline: { | |
| 23 | + user: '', | |
| 24 | + password: '' | |
| 435 | 25 | }, |
| 436 | - ruleCustom: { | |
| 437 | - passwd: [ | |
| 438 | - { validator: validatePass, trigger: 'blur' } | |
| 26 | + ruleInline: { | |
| 27 | + user: [ | |
| 28 | + { required: true, message: '请填写用户名', trigger: 'change' } | |
| 439 | 29 | ], |
| 440 | - passwdCheck: [ | |
| 441 | - { validator: validatePassCheck, trigger: 'blur' } | |
| 442 | - ], | |
| 443 | - age: [ | |
| 444 | - { validator: validateAge, trigger: 'blur' } | |
| 30 | + password: [ | |
| 31 | + { required: true, message: '请填写密码', trigger: 'blur' }, | |
| 32 | + { type: 'string', min: 6, message: '密码长度不能小于6位', trigger: 'change' } | |
| 445 | 33 | ] |
| 446 | 34 | } |
| 447 | 35 | } |
| 448 | 36 | }, |
| 449 | - computed: {}, | |
| 450 | 37 | methods: { |
| 451 | - onSubmit (formName) { | |
| 452 | - this.$refs[formName].validate((valid) => { | |
| 453 | - if (valid) { | |
| 454 | - this.$Message.success('submit!'); | |
| 455 | - } else { | |
| 456 | - this.$Message.error('error submit!'); | |
| 457 | - return false; | |
| 458 | - } | |
| 459 | - }); | |
| 460 | - }, | |
| 461 | - resetForm (formName) { | |
| 462 | - this.$refs[formName].resetFields(); | |
| 463 | - }, | |
| 464 | - c (s) { | |
| 465 | - console.log(this.form.date) | |
| 466 | - }, | |
| 467 | - getMockData () { | |
| 468 | - let mockData = []; | |
| 469 | - for (let i = 1; i <= 20; i++) { | |
| 470 | - mockData.push({ | |
| 471 | - key: i.toString(), | |
| 472 | - label: '内容' + i, | |
| 473 | - description: '内容' + i + '的描述信息', | |
| 474 | - disabled: Math.random() * 3 < 1 | |
| 475 | - }); | |
| 476 | - } | |
| 477 | - return mockData; | |
| 478 | - }, | |
| 479 | - getTargetKeys () { | |
| 480 | - return this.getMockData() | |
| 481 | - .filter(() => Math.random() * 2 > 1) | |
| 482 | - .map(item => item.key); | |
| 483 | - }, | |
| 484 | - render1 (item) { | |
| 485 | - return item.label; | |
| 486 | - }, | |
| 487 | - handleChange1 (newTargetKeys, direction, moveKeys) { | |
| 488 | - console.log(newTargetKeys); | |
| 489 | - console.log(direction); | |
| 490 | - console.log(moveKeys); | |
| 491 | - this.form.targetKeys1 = newTargetKeys; | |
| 492 | - }, | |
| 493 | - handleSubmit (name) { | |
| 38 | + handleSubmit(name) { | |
| 494 | 39 | this.$refs[name].validate((valid) => { |
| 495 | 40 | if (valid) { |
| 496 | 41 | this.$Message.success('提交成功!'); |
| ... | ... | @@ -498,10 +43,7 @@ |
| 498 | 43 | this.$Message.error('表单验证失败!'); |
| 499 | 44 | } |
| 500 | 45 | }) |
| 501 | - }, | |
| 502 | - handleReset (name) { | |
| 503 | - this.$refs[name].resetFields(); | |
| 504 | 46 | } |
| 505 | 47 | } |
| 506 | - }; | |
| 507 | -</script> | |
| 508 | 48 | \ No newline at end of file |
| 49 | + } | |
| 50 | +</script> | ... | ... |