| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- <template>
 
- 	<view class="gui-search" :style="{height:height, backgroundColor:background,borderRadius:borderRadius}">
 
- 		<text class="gui-search-icon grace-icons" 
 
- 		:style="{color:iconColor, fontSize:iconFontSize, lineHeight:height, width:iconWidth}"></text>
 
- 		<input type="text" class="gui-search-input" :placeholder="placeholder" v-model="inputVal" 
 
- 		:style="{height:inputHeight, lineHeight:inputHeight, fontSize:inputFontSize, backgroundColor:background, color:inputColor}" 
 
- 		@input="inputting" @confirm="confirm" confirm-type="search" v-if="!disabled" />
 
- 		<text class="gui-search-input" :style="{height:inputHeight, lineHeight:inputHeight, fontSize:inputFontSize, backgroundColor:background, color:iconColor}" @tap.stop="tapme" v-if="disabled">{{placeholder}}</text>
 
- 		<text class="gui-search-icon grace-icons" v-if="inputVal.length > 0" @tap.stop="clearKwd" 
 
- 		:style="{color:iconColor, fontSize:iconFontSize, lineHeight:height, width:iconWidth}"></text>
 
- 	</view>
 
- </template>
 
- <script>
 
- export default{
 
- 	props:{
 
- 		height:{type:String, default:'66rpx'},
 
- 		background:{type:String, default:'#FFFFFF'},
 
- 		fontSize:{type:String, default:'28rpx'},
 
- 		iconWidth:{type:String, default:'60rpx'},
 
- 		iconColor:{type:String, default:'#A5A7B2'},
 
- 		iconFontSize:{type:String, default:'30rpx'},
 
- 		inputHeight:{type:String, default:'30rpx'},
 
- 		inputFontSize:{type:String, default:'26rpx'},
 
- 		placeholder:{type:String, default:'关键字'},
 
- 		kwd:{type:String, default:''},
 
- 		borderRadius:{type:String, default:'66rpx'},
 
- 		disabled:{type:Boolean, default:false},
 
- 		inputColor:{type:String, default:'#323232'}
 
- 	},
 
- 	data() {
 
- 		return {
 
- 			inputVal : ''
 
- 		}
 
- 	},
 
- 	created: function (){
 
- 		this.inputVal = this.kwd;
 
- 	},
 
- 	watch:{
 
- 		kwd : function(val){
 
- 			this.inputVal = val;
 
- 		}
 
- 	},
 
- 	methods:{
 
- 		clearKwd : function () {
 
- 			this.inputVal = '';
 
- 			this.$emit('clear', '');
 
- 		},
 
- 		inputting : function(e){
 
- 			this.$emit('inputting', e.detail.value);
 
- 		},
 
- 		confirm : function (e) {
 
- 			this.$emit('confirm', e.detail.value);
 
- 		},
 
- 		tapme : function () {
 
- 			this.$emit('tapme')
 
- 		}
 
- 	}
 
- }
 
- </script>
 
- <style scoped>
 
- .gui-search{border-radius:66rpx; padding:0 10rpx; flex-direction:row; flex-wrap:nowrap; align-items:center; overflow:hidden; flex:1;}
 
- .gui-search-icon{text-align:center;}
 
- .gui-search-input{width:600rpx; margin:0 10rpx; flex:1; border-width:0; padding:0;}
 
- </style>
 
 
  |