Files
cutejava/cutejava-front/src/views/componentsDemo/business/CuteUserSelectDemo.vue
T
odboy 882ac772d3 refactor(components): 统一组件API规范并完善表单重置功能
- 将多个组件的props从具体属性名改为统一的value属性
- 为所有组件添加v-model支持,替换原有的具体属性绑定
- 统一实现resetField方法,确保表单重置功能一致性
- 修正组件内部数据绑定逻辑,使用innerValue替代直接修改prop
- 更新文档示例,将API参数说明改为value | v-model格式
- 为代码编辑器、富文本编辑器等组件添加input事件发射
- 调整文件上传组件的值类型定义,从Object改为String
- 移除废弃的maxLength回调方法,优化编辑器性能
- 重构双向绑定逻辑,确保父子组件数据同步正确性
- 为树形选择器添加ref引用以便操作内部实例
- 调整组件演示页面的导入路径和标签页名称结构
2026-02-05 14:34:32 +08:00

78 lines
2.3 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<h4>何时使用</h4>
<ul class="description">
<li>选择多个用户信息</li>
<li>支持用户姓名、手机号、邮箱、用户名查询</li>
<li>在使用过程中有任何问题,咨询 @Odboy(前端)@Odboy(后端)</li>
</ul>
<h4>基础用法</h4>
<cute-user-select v-model="user" @change="onUserSelectChange" />
<h4>绑定表单</h4>
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="用户" prop="user">
<!-- v-model 本质上是 :value 和 @input 事件的语法糖 -->
<cute-user-select v-model="form.user" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('form')">提 交</el-button>
<el-button type="danger" @click="onReset('form')">重 置</el-button>
</el-form-item>
</el-form>
<h4>API</h4>
<el-table :data="apiData">
<el-table-column prop="name" label="参数" width="220" />
<el-table-column prop="remark" label="说明" width="450" />
<el-table-column prop="type" label="类型" />
<el-table-column prop="defaultValue" label="默认值" />
<el-table-column prop="required" label="是否必填" />
</el-table>
</div>
</template>
<script>
import CuteUserSelect from '@/views/components/business/CuteUserSelect.vue'
export default {
name: 'CuteUserSelectDemo',
components: { CuteUserSelect },
data() {
return {
user: [],
form: {
user: []
},
apiData: [
{ name: 'value | v-model', remark: '绑定的值', type: 'array', defaultValue: '[]', required: '否' },
{ name: 'change', remark: '选中用户发生改变的时候触发的回调', type: '(value) => {}', defaultValue: '-', required: '否' }
]
}
},
methods: {
onUserSelectChange(data) {
console.log('onUserSelectChange', data)
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
console.log('onSubmit:form', this.form)
} else {
console.error('onSubmit:error submit!!')
return false
}
})
},
onReset(formName) {
this.$refs[formName].resetFields()
}
}
}
</script>
<style lang="scss" scoped>
ul {
padding-left: 20px;
}
.description > li{
font-size: 12px;
}
</style>