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

Flutter 3.x迁移:用contextMenuBuilder替代toolbarOptions禁用TextField交互

Flutter 3.x 迁移 toolbarOptions 至 contextMenuBuilder 实现禁用文本交互

方法一:直接禁用文本选择及上下文菜单

如果不需要用户选择文本,最直接的方式是禁用文本交互选择,这样长按文本不会弹出任何上下文菜单:

TextField(
  enableInteractiveSelection: false, // 彻底禁用文本选择与上下文菜单
  // 你的其他TextField配置
)

方法二:自定义空上下文菜单(保留文本选择)

如果需要保留文本选择功能,但隐藏所有复制/剪切/粘贴/全选按钮,需要在contextMenuBuilder中返回一个不含任何菜单项的工具栏:

TextField(
  contextMenuBuilder: (context, editableTextState) {
    return AdaptiveTextSelectionToolbar(
      anchors: editableTextState.contextMenuAnchors,
      children: const [], // 传入空数组,移除所有默认菜单项
    );
  },
  // 你的其他TextField配置
)

注:直接设置children: null无效,因为AdaptiveTextSelectionToolbar会自动生成默认菜单项,必须显式传入空数组来覆盖默认行为。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 11:02:43