Html 具有数千条记录的可观测阵列 vm.dxCodeLostFocus=函数(){ vm.icdCodes.push({ID:'',DiagnosisCd:''}); };

Html 具有数千条记录的可观测阵列 vm.dxCodeLostFocus=函数(){ vm.icdCodes.push({ID:'',DiagnosisCd:''}); };,html,knockout.js,ko.observablearray,Html,Knockout.js,Ko.observablearray,我正在UI中动态添加html5datalist控件。可观测数组ICDCodes下拉列表包含10000多条记录。每次我从与datalist关联的输入文本控件中取出制表符时,添加另一个输入控件需要10秒 可以做些什么来加快响应速度吗?看看 我们将其用于大型收藏,而不是foreach。下面的链接帮助我解决了这个问题。 当用户在输入控件中键入内容时,我将动态填充数据列表,而不是一次填充所有数据列表 结帐 <tbody data-bind='foreach: $root.icdCodes'>

我正在UI中动态添加html5
datalist
控件。可观测数组
ICDCodes下拉列表
包含10000多条记录。每次我从与
datalist
关联的输入文本控件中取出制表符时,添加另一个输入控件需要10秒

可以做些什么来加快响应速度吗?

看看
我们将其用于大型收藏,而不是foreach。

下面的链接帮助我解决了这个问题。 当用户在输入控件中键入内容时,我将动态填充数据列表,而不是一次填充所有数据列表

结帐
 <tbody data-bind='foreach: $root.icdCodes'>
        <tr>
            <td>
                <input type="text" list="icdcodes" data-bind="value: DiagnosisCd, event: {focusout: $root.dxCodeLostFocus }">
                <datalist id="icdcodes" data-bind="foreach: $root.icdCodesDropdown">
                <option data-bind="text: $data.DiagnosisCd">

                </option>
                </datalist>   

            </td>

        </tr>
    </tbody>

vm.dxCodeLostFocus = function () {
   vm.icdCodes.push({ ID: '', DiagnosisCd: '' });
};