清新组件库:http://ifresh-ui.yating.online/
源码地址:https://github.com/Chenyating/iFresh-ui
外部value变化,input的值没有变化?
先理解v-model的性质
<input v-model="searchText"> 等价于 <input v-bind:value="searchText" v-on:input="searchText = $event.target.value" >组件上使用v-model
<if-input v-model="searchText"></if-input> 等同于 <if-input v-bind:value="searchText" v-on:input="searchText = $event" ></if-input>要让if-input能正常使用,必须:
将其 value 特性绑定到一个名叫value的prop上 props: { value:{ type:String, default:'' } }, 在其 input 事件被触发时,将新的值通过自定义的input事件抛出 自定义组件里的input要这么写: <input :value="reciveValue" @input="inputMethod" />注意:reciveValue=this.value,要指向value,不这么写,没法双向绑定。
data(){ return{ reciveValue:this.value } } inputMethod(e) { this.receiveValue=e.target.value; this.$emit('input', this.receiveValue); }反正每次值发送变化的时候,就$emit一下