| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | <template>	<view class="gui-search" :style="{height:height, backgroundColor:background,borderRadius:borderRadius}">		<view class="gui-search-icon grace-icons icon-search" @tap.stop="tapme" 		:style="{color:iconColor, fontSize:iconFontSize, lineHeight:height, width:iconWidth}"></view>		<input type="text" class="gui-search-input" :placeholder="placeholder" v-model="inputVal" v-if="!disabled" 		:style="{height:inputHeight, lineHeight:inputHeight, fontSize:inputFontSize, background:background, color:inputColor}" 		@input="inputting" @confirm="confirm" confirm-type="search" />		<view class="gui-search-input" v-if="disabled" @tap.stop="tapme" 		:style="{height:inputHeight, lineHeight:inputHeight, fontSize:inputFontSize, background:background, color:iconColor}">{{placeholder}}</view>		<view class="gui-search-icon grace-icons icon-close" v-if="inputVal.length > 0" @tap.stop="clearKwd" 		:style="{color:iconColor, fontSize:iconFontSize, lineHeight:height, width:iconWidth}"></view>	</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'},		inputColor:{type:String, default:'#323232'},		placeholder:{type:String, default:'关键字'},		kwd:{type:String, default:''},		borderRadius:{type:String, default:'66rpx'},		disabled:{type:Boolean, default:false}	},	data() {		return {			inputVal : ''		}	},	created: function (){		this.inputVal = this.kwd;	},	watch:{		kwd : function(val, vo){			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; box-sizing:border-box; padding:0 10rpx; display:flex; flex-wrap:nowrap; align-items:center; overflow:hidden; width:100%; box-sizing:border-box;}.gui-search-icon{text-align:center; flex-shrink:0;}.gui-search-input{width:100%; margin:0 10rpx; border:none; padding:0;}</style>
 |