d2-crud
d2-crud copied to clipboard
form-data-change获取el-select变更事件的时候,获取到的value是修改之前的value
贴一下你的代码片段吧
我也遇到同样的问题,addTemplate和editTemplate使用el-select时,切换选项,form-data-change=‘handleFormDataChange’捕捉到事件,拿到key和value,其中value是修改之前的值。
用el-switch插件也有同样问题,数据得到是反的
希望可以处理一下,我也遇到这个问题
<el-select
v-else-if="handleFormTemplateMode(key).component.name === 'el-select'"
v-model="formData[key]"
v-bind="$d2CrudSize ? Object.assign({ size: $d2CrudSize}, handleFormTemplateMode(key).component) : handleFormTemplateMode(key).component"
@change="$emit('form-data-change', {key: key, value: value})"
>
去看了下源码,这里确实有问题,$emit('form-data-change', {key: key, value: value})
这里的value 取得是绑定在组件上的model,还没有更新,更新的value在 change事件回调里面带了选中的值,应该是@change="(data => $emit('form-data-change', {key: key, value: data.value}))()"