代码
input子组件html:
注意:子组件 template 中不可以直接循环 需要在外层加个div包起来。。
<div class="bj-box">
<div class="bj-item clearfix"
v-for="(item, index) in inputList"
:key="index">
<label>{{item.label}}</label>
<div class="item-r">
<div :class="['inp-div', item.class]">
<el-input type="text"
:placeholder="item.placeholder"
v-model="item.model"
:maxlength="item.maxlength"
show-word-limit>
</el-input>
</div>
</div>
</div>
</div>
v-model使用自己的item.model,props接收父组件传来的数组:
js:
props: {
inputList: {
type: Array,
default () {
return []
}
},
}
父组件html:
<m-input :inputList="inputList" />
js:
inputList: [{
class: 'telephone',
label: '手机号码:',
placeholder: '请输入您的手机号码',
maxlength: '11',
}, {
class: 'weixin',
label: '微信公众号:',
placeholder: '请输入您的公众号(选填)',
maxlength: '20',
}]