You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elm中onInput事件返回值滞后一个字符问题排查

问题原因

你在Change消息的更新逻辑里,计算过滤列表时使用了更新前的旧searchText值:
Elm的update函数接收的model参数是当前触发消息时的旧状态,你在生成filtered列表时,还没完成对model.searchText的更新,过滤逻辑一直用的是上一次输入的内容,就出现了值滞后一个字符的现象。

修复方案

把Change分支里过滤条件的model.searchText替换成新传入的输入值value即可,修改后的代码如下:

Change value ->
    let
        filtered =
            model.layers
                |> List.filter
                    (\{ name } ->
                        String.contains (String.toLower value) (String.toLower name)
                    )
    in
    ( { model | searchText = value, filtered = filtered }, Cmd.none )

内容的提问来源于stack exchange,提问作者atomkirk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:00:03