Flutter 3.x迁移:用contextMenuBuilder替代toolbarOptions禁用TextField交互
方法一:直接禁用文本选择及上下文菜单
如果不需要用户选择文本,最直接的方式是禁用文本交互选择,这样长按文本不会弹出任何上下文菜单:
TextField( enableInteractiveSelection: false, // 彻底禁用文本选择与上下文菜单 // 你的其他TextField配置 )
方法二:自定义空上下文菜单(保留文本选择)
如果需要保留文本选择功能,但隐藏所有复制/剪切/粘贴/全选按钮,需要在contextMenuBuilder中返回一个不含任何菜单项的工具栏:
TextField( contextMenuBuilder: (context, editableTextState) { return AdaptiveTextSelectionToolbar( anchors: editableTextState.contextMenuAnchors, children: const [], // 传入空数组,移除所有默认菜单项 ); }, // 你的其他TextField配置 )
注:直接设置
children: null无效,因为AdaptiveTextSelectionToolbar会自动生成默认菜单项,必须显式传入空数组来覆盖默认行为。
内容的提问来源于stack exchange,提问作者Thorvald
相关产品推荐
相关产品推荐

