下图是Select选择器API截图(chnage事件的描述):
默认情况下,Select组件change事件的参数是用户从下拉列表中选择的数据项,但有些情况下我们需要给change事件传递一些其他的自定义参数,实现方法如下:
<el-form-item label="消息模板" prop="messageId">
<el-select v-model="formData.messageId" @change="(value) => handleMessageTemplateChangeEvent(value, true)" placeholder="请选择消息模板" :clearable="true" @clear="handleClearEvent">
<el-option
v-for="item in messageTemplateList"
:label="item.mTitle"
:value="item.id"
:key="item.id">
</el-option>
</el-select>
<div span class="tip">未选择到需要的消息模板,点击此处</span><router-link tag="a" class="tip-link" :to="{name: 'addMessageTemplate'}">创建消息模板</router-link></div>
</el-form-item>
上述代码中 @change="(value) => handleMessageTemplateChangeEvent(value, true)"语句中的参数value是用户从下拉列表选择的数据项值,参数true则是用户向changeg事件传递的自定义参数,handleMessageTemplateChangeEvent方法请见下面代码片段:
handleMessageTemplateChangeEvent(e, flag = false) {
this.isVisibleOfSendWay = true
if(flag) {
this.formData.sendWay = null
this.formData.sendType = null
this.formData.sendTime = null
}
……
上面代码中参数e是下拉列表选中项的值,参数flag是接收用户传递的自定义参数。