代码拉取完成,页面将自动刷新
<template>
<MdpSelectTable :clearable="clearable" :relative="relative" :initName="initName" :initLoad="initLoad" :displayLoad="displayLoad" :label="label" :width="width" :placeholder="placeholder" :show-style="showStyle" ref="select" v-model="myVal" :loadFun="$mdp.listUser" :props="{id:'userid',name:'username',imgUrl:'headimgurl'}" @change2="(e)=>$emit('change2',e)" @change="(e)=>$emit('change',e)" :multiple="multiple" :split="split" :disabled="disabled">
<template #toolbar>
<el-button icon="search" @click="$refs['tableDialog'].open()" type="primary" plain/>
<slot name="toolbar"></slot>
</template>
<template #oper> <slot name="oper"></slot></template>
</MdpSelectTable>
<mdp-dialog ref="tableDialog" title="选择部门用户" width="80%">
<template #default="{visible}">
<user-select :visible="visible" :multiple="multiple" @select="onTableDataSelect" @loadDatas="onTableLoadDatas"/>
</template>
</mdp-dialog>
</template>
<script>
import UserSelect from './UserSelect.vue'
export default {
components: { UserSelect },
emits:['change2', 'change3', 'clear', 'change','click'],
computed:{
myVal:{
set(val){
this.$emit('update:modelValue',val)
},
get(){
return this.modelValue
}
}
},
name: 'MdpSelectUser',
props:{
modelValue:{
type: String,Array,
default: null
},
multiple:{
type: Boolean,
default: false
},
showStyle:{
type:String,
default:'origin'
},
label:{
type:String,
default: '用户'
},
placeholder:{
type:String,
default: '用户'
},
disabled:{
type: Boolean,
default:false
},
width:{
type: String,
default: null
},
split:{
type: String,
default:null,
},
/**
* 当tag 模式下,定位出问题后,设置此参数可解决问题
*/
relative:{
type: Boolean,
default: false
},
/**
* 初始化时,如果已知名称,用此属性可以反显
*/
initName:{
type: [String,Array],
default: null
},
/**
* 初始化时,initLoad=true将进行远程调用,否则不进行远程调用
*/
initLoad:{
type: Boolean,
default: false
},
/**
* 是否根据modelValue值变化进行远程调用加载数据进行名字反显。用于只知道id,不知道name的情况下,自动反显所用。
* 当initName有值时,该参数无效
*/
displayLoad:{
type: Boolean,
default: false,
},
/**
* 是否可清空
*/
clearable:{
type: Boolean,
default: true,
}
},
data(){
return {
}
},
methods:{
onTableDataSelect(datas){
this.$refs['select'].onTableDataSelect(datas)
this.$refs['tableDialog'].close();
},
onTableLoadDatas(res){
this.$refs['select'].onTableLoadDatas(res)
}
},
mounted(){
},
}
</script>
<style lang="scss" scoped>
@import '../../mdp-ui/index.scss';
</style>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。