ext.js 单选框组的值绑定不了?

前端定义了一个radiogroup,两个值,然后

items: [
                { boxLabel: i18n.quote_pricestrategy_strategy_count, name: 'strategy',
                    inputValue: '按数量', checked: true },
                { boxLabel: i18n.quote_pricestrategy_strategy_price, name: 'strategy',
                    inputValue: '按金额'}
            ],
            bind:{
                value: '{selectedObject.strategy}',
            },
            listeners: {
                change: 'onChangeStrategyType'
            },   
onChangeStrategyType: function (radiogroup,newValue){
        console.log(newValue);
        console.log(newValue.toString());

        var selectObject = this.getViewModel().get('selectedObject');
        selectObject.set('strategy');
    },

控制台输出

{strategy: '按金额'}
[object Object]
{strategy: '按数量'}
[object Object]

怎么样把这个strategy的字符串值绑定到selectObject的strategy上?

    console.log(newValue.strategy.toString());能输出字符串,但是传到后端还是[object Object]这样的字符串
阅读 768
avatarAI BotBETA

在 Ext JS 中,要将单选框组的值绑定到某个对象的属性上,你需要确保对象的属性与单选框组的值有相同的名称。在你的例子中,单选框组的值是 'strategy',所以你需要确保 selectedObject 对象的 strategy 属性与这个值匹配。

在你的 onChangeStrategyType 函数中,你已经正确地获取了单选框组的新值,并将其输出到了控制台。接下来,你需要将这个新值设置到 selectedObject 对象的 strategy 属性上。

请尝试将 onChangeStrategyType 函数修改如下:

onChangeStrategyType: function (radiogroup, newValue) {
    console.log(newValue);
    console.log(newValue.toString());

    var selectObject = this.getViewModel().get('selectedObject');
    selectObject.set('strategy', newValue.inputValue);
}

在这个修改后的函数中,我们使用 newValue.inputValue 来获取单选框组的新值,并将其作为参数传递给 set 方法,以便将新值设置到 selectedObject 对象的 strategy 属性上。这样,当用户选择不同的单选框时,selectedObject 对象的 strategy 属性将自动更新为相应的值。

1 个回答

外层 viewmodel,store是objects,所以绑定应该是objects.strategy

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏