清空后进行选择的时候 editForm.recipient 是有值的,this.$forceUpdate() 强制更新数据就好了

<a-select 
    allow-clear
    placeholder="请选择接收类型" 
    v-model="editForm.recipientType" 
	@change="changeRecipientType">
	<a-select-option :value="1">全部用户</a-select-option>
	<a-select-option :value="2">教师</a-select-option>
	<a-select-option :value="3">学生</a-select-option>
</a-select>
<a-select
	allow-clear	
	mode="multiple"
	:placeholder="recipientPlaceholder"
	v-model="editForm.recipient"
	@change="changeRecipient">
    <a-select-option v-for="item in recipientNameList" :key="item.id">
		<span v-if="editForm.recipientType === 2">            
            {{item.username}}
        </span>
	</a-select-option>
</a-select>

 

// 接收人
changeRecipient(value) {
	this.editForm.recipient = value
	this.$forceUpdate()
},
// 接收人类型
changeRecipientType(value) {
	// 清空select缓存数据
	this.recipientNameList = []
	this.editForm.recipient = []
	this.$forceUpdate()
	// 1全部用户 2教师 3学生
	if(value === 1) {
	    this.getUserList()
	} else if(value === 2) {
		this.recipientPlaceholder = '请选择教师'
		this.getTeacherList()
	} else if(value === 3) {
		this.recipientPlaceholder = '请选择学生'
		this.getStudentList()
	}
},

 

Logo

前往低代码交流专区

更多推荐