form-create icon indicating copy to clipboard operation
form-create copied to clipboard

Select组件使用Effect获取数据后,在Update中无法获取Options

Open zhang-huan-1990 opened this issue 1 year ago • 2 comments

使用Select配置了Effect来获取数据,期望其他组件更新可以更新该Select的Options,但是在update函数里无法获取到该rule的Options数据

new Vue({
  el: '#app',
  data(){
            return {
                fApi:{},
                options:{
                    onSubmit:(formData)=>{
                        alert(JSON.stringify(formData))
                    }
                },
                rule:[
                    {
                        type:'cascader',
                        field:'city',
                        title:'city',
                        value:[],
                        props:{
                            options:[]
                        },
                        update(val,_rule,fApi){
                          //此处optiosn和props.options都没有值
                          console.log(_rule.options)
                        },
                        effect:{
                            fetch: {
                                action:'https://cdn.jsdelivr.net/gh/modood/[email protected]/dist/pc-code.json',
                                to: 'props.options',
                                method:'GET',
                                parse(res){
                                    function tidy(list){
                                        return list.map(val=>{
                                            return {
                                                value:val.code,
                                                label:val.name,
                                                children:val.children ? tidy(val.children) : undefined
                                            }
                                        })
                                    }
                                    
                                    return tidy(res);
                                }
                            }
                        }
                    }
                ]
            }
            
        }
})

zhang-huan-1990 avatar Apr 10 '24 10:04 zhang-huan-1990

我已经配置了 to: 'props.options', 似乎这个配置没有生效。

zhang-huan-1990 avatar Apr 10 '24 10:04 zhang-huan-1990

下个版本会增加api.getRenderRule方法, 可以获取到最终完整的rule @zhang-huan-1990

xaboy avatar Apr 24 '24 03:04 xaboy