You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							73 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							73 lines
						
					
					
						
							1.8 KiB
						
					
					
				
								import { VantComponent } from '../common/component';
							 | 
						|
								VantComponent({
							 | 
						|
								    field: true,
							 | 
						|
								    classes: ['field-class', 'input-class', 'cancel-class'],
							 | 
						|
								    props: {
							 | 
						|
								        label: String,
							 | 
						|
								        focus: Boolean,
							 | 
						|
								        error: Boolean,
							 | 
						|
								        disabled: Boolean,
							 | 
						|
								        readonly: Boolean,
							 | 
						|
								        inputAlign: String,
							 | 
						|
								        showAction: Boolean,
							 | 
						|
								        useActionSlot: Boolean,
							 | 
						|
								        useLeftIconSlot: Boolean,
							 | 
						|
								        useRightIconSlot: Boolean,
							 | 
						|
								        leftIcon: {
							 | 
						|
								            type: String,
							 | 
						|
								            value: 'search'
							 | 
						|
								        },
							 | 
						|
								        rightIcon: String,
							 | 
						|
								        placeholder: String,
							 | 
						|
								        placeholderStyle: String,
							 | 
						|
								        actionText: {
							 | 
						|
								            type: String,
							 | 
						|
								            value: '取消'
							 | 
						|
								        },
							 | 
						|
								        background: {
							 | 
						|
								            type: String,
							 | 
						|
								            value: '#ffffff'
							 | 
						|
								        },
							 | 
						|
								        maxlength: {
							 | 
						|
								            type: Number,
							 | 
						|
								            value: -1
							 | 
						|
								        },
							 | 
						|
								        shape: {
							 | 
						|
								            type: String,
							 | 
						|
								            value: 'square'
							 | 
						|
								        },
							 | 
						|
								        clearable: {
							 | 
						|
								            type: Boolean,
							 | 
						|
								            value: true
							 | 
						|
								        }
							 | 
						|
								    },
							 | 
						|
								    methods: {
							 | 
						|
								        onChange(event) {
							 | 
						|
								            this.setData({ value: event.detail });
							 | 
						|
								            this.$emit('change', event.detail);
							 | 
						|
								        },
							 | 
						|
								        onCancel() {
							 | 
						|
								            /**
							 | 
						|
								             * 修复修改输入框值时,输入框失焦和赋值同时触发,赋值失效
							 | 
						|
								             * https://github.com/youzan/@vant/weapp/issues/1768
							 | 
						|
								             */
							 | 
						|
								            setTimeout(() => {
							 | 
						|
								                this.setData({ value: '' });
							 | 
						|
								                this.$emit('cancel');
							 | 
						|
								                this.$emit('change', '');
							 | 
						|
								            }, 200);
							 | 
						|
								        },
							 | 
						|
								        onSearch() {
							 | 
						|
								            this.$emit('search', this.data.value);
							 | 
						|
								        },
							 | 
						|
								        onFocus() {
							 | 
						|
								            this.$emit('focus');
							 | 
						|
								        },
							 | 
						|
								        onBlur() {
							 | 
						|
								            this.$emit('blur');
							 | 
						|
								        },
							 | 
						|
								        onClear() {
							 | 
						|
								            this.$emit('clear');
							 | 
						|
								        },
							 | 
						|
								    }
							 | 
						|
								});
							 | 
						|
								
							 |