【问题标题】:how can i remove the selected list item from combobox when i open the combobox next time下次打开组合框时如何从组合框中删除选定的列表项
【发布时间】:2016-11-15 04:34:30
【问题描述】:

我有一个带有组合框值的场景。我只是想知道下次使用此组合框时应该如何删除或隐藏组合框的已选择值。我的意思是,一旦我从组合框中选择了一个值,当我下次单击组合框时,我将无法再次看到该选择的值。我在组合框列表中有大约 400 多个项目。谁能给我一些与此相关的代码,在 sapui5 和 javascript 中。提前致谢

【问题讨论】:

    标签: javascript combobox sapui5


    【解决方案1】:

    使用ComoboBoxselectionChange 事件从当前数据中删除所选项目并将修改后的数据设置为新ComoboBox

    var combo = e.getSource();
    this.data.values.splice(combo.indexOfItem(combo.getSelectedItem()), 1);
    if (this.data.values.length === 0)
       {return;}
    var newCombo = new sap.m.ComboBox({
       selectionChange: this.fn.bind(this)
    });
    newCombo.bindItems("/values", new sap.ui.core.Item({
       text: "{val}",
       key: "{val}"
    }));
    this.byId("page").addContent(newCombo);
    

    Demo

    【讨论】:

    • 你好 Dopedev,感谢您的回复,我在这里有一个场景,如果我选择一个组合框项,则会创建另一个具有相同列表项的组合框,我不希望第一个选择的列表项是出现在下一个打开的组合框列表项上。就像我有大约 400 个列表项的方式一样。每次我选择列表项时,该项目不应该在下一个组合框列表项上可见。
    • 我不确定您为什么要这样做,但如果您选择每个控件,最终它将创建大约 400 个 ComboBox 控件,您确定符合您的要求吗?
    • 是的,用户可以创建与组合框列表项长度一样多的记录数,因此最终它将创建组合框的数量,但是一旦用户选择列表项,在下一次选择中不应该看到.我无法在此处附上我的屏幕截图,请给我您的电子邮件 ID,我将发送它的详细屏幕截图。提前致谢
    • 请查看修改后的答案和演示。
    • 对不起,Dopedev,我正忙于处理其他问题。我的项目中的代码没有实现,一旦我实现,我会对此发表评论。
    猜你喜欢
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多