fix:用户管理用户信息界面
This commit is contained in:
@@ -8,60 +8,69 @@ const props = defineProps<{
|
||||
}>();
|
||||
|
||||
const emit = defineEmits<{
|
||||
'update:model': [value: SearchModel];
|
||||
'updateModel': [value: SearchModel];
|
||||
'reset': [];
|
||||
'search': [];
|
||||
}>();
|
||||
|
||||
const formRef = ref<FormInstance>();
|
||||
const localSearchParams = ref<SearchModel>({
|
||||
pageNum: props.model.pageNum,
|
||||
pageSize: props.model.pageSize,
|
||||
username: props.model.username,
|
||||
email: props.model.email
|
||||
});
|
||||
|
||||
|
||||
// 修改计算属性的实现
|
||||
const formModel = computed({
|
||||
get: () => ({
|
||||
username: props.model.username,
|
||||
email: props.model.email
|
||||
username: props.model.username ?? '',
|
||||
email: props.model.email ?? ''
|
||||
}),
|
||||
set: (val: Partial<SearchModel>) => {
|
||||
emit('update:model', {
|
||||
set: (val: Partial<{ username: string; email: string }>) => {
|
||||
emit('updateModel', {
|
||||
...props.model,
|
||||
...val
|
||||
username: val.username || undefined,
|
||||
email: val.email || undefined
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
const handleReset = () => {
|
||||
// 重置表单字段
|
||||
formRef.value?.resetFields();
|
||||
localSearchParams.value = {
|
||||
|
||||
// 重置表单模型的值
|
||||
formModel.value = {
|
||||
username: '',
|
||||
email: ''
|
||||
};
|
||||
|
||||
// 定义默认参数
|
||||
const defaultParams: SearchModel = {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
username: undefined,
|
||||
email: undefined
|
||||
};
|
||||
emit('update:model', localSearchParams.value);
|
||||
|
||||
console.log('Emitting reset with params:', defaultParams);
|
||||
|
||||
// 发送更新事件
|
||||
emit('updateModel', defaultParams);
|
||||
// 发送重置事件
|
||||
emit('reset');
|
||||
};
|
||||
|
||||
const handleSearch = () => {
|
||||
// 确保搜索时更新所有参数
|
||||
console.log('Search form values:', formModel.value);
|
||||
|
||||
// 确保所有必要的字段都存在
|
||||
const updatedParams: SearchModel = {
|
||||
...props.model,
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
username: formModel.value.username,
|
||||
email: formModel.value.email
|
||||
pageNum: props.model.pageNum || 1,
|
||||
pageSize: props.model.pageSize || 10,
|
||||
username: formModel.value.username || undefined,
|
||||
email: formModel.value.email || undefined
|
||||
};
|
||||
|
||||
console.log('Search triggered with params:', updatedParams);
|
||||
console.log('Emitting updated params:', updatedParams);
|
||||
|
||||
// 直接更新父组件的参数
|
||||
emit('update:model', updatedParams);
|
||||
// 触发搜索
|
||||
emit('updateModel', updatedParams);
|
||||
emit('search');
|
||||
};
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user