为什么要捐赠
API 浏览器
弹出编辑

QPopupEdit 组件可以用于“就地”编辑值,例如 QTable 中的单元格。默认情况下,单元格以字符串形式显示,然后如果您使用 QPopupEdit 并且用户单击/点击表格单元格,则会打开一个弹出窗口,用户可以在其中使用文本字段编辑值。

此组件将 QMenu 注入到其父 DOM 元素中并启用上述行为,因此它 **可以在任何地方使用**,而不仅仅是在 QTable 中。

正在加载 QPopupEdit API...

用法

警告

如果在 QTable 上使用,QPopupEdit 将无法与单元格范围插槽一起使用。

独立

点击文本



使用 QTable

单击单元格以查看弹出编辑器。列“名称”演示了 title 属性。列“卡路里”显示了数字值的用法。列“脂肪”还演示了 disable 属性。如果您查看源代码,您会看到“脂肪”的单元格正在使用 QPopupEdit,但是当单击单元格时,弹出窗口没有显示。

编辑第一列



自定义

自定义 QPopupEdit



持久化并带有按钮

您还可以使用 buttons 属性添加两个按钮,“取消”和“设置”(默认标签)。这些按钮有助于控制用户的输入。与 buttons 属性一起,您还有 persistent 属性,它拒绝用户使用 Escape 键或单击/点击弹出窗口之外来关闭弹出窗口。最后,您可以使用 label-setlabel-cancel 属性控制两个按钮的标签,如“蛋白质”列所示。请注意,“保存”正在替换“设置”,而“关闭”正在替换“取消”。

persistent 属性在“碳水化合物”列中进行了演示。

持久化编辑,并带有按钮



默认插槽

默认插槽的参数是

{ initialValue, value, validate, set, cancel, updatePosition }

警告

不要解构插槽的参数,因为在使用 value 属性直接使用 v-model 时,这会产生 lint 错误。

默认插槽参数



文本区域 / QEditor

由于 QPopupEdit 包裹了 QInput,因此您基本上可以使用任何类型的 QInput。例如,您也可以使用文本区域,如下面的“评论”列所示。

提示

当使用多行控件(文本区域、QEditor)进行输入时,您还需要在组件上使用 @keyup.enter.stop 来阻止 Enter 键关闭弹出窗口。您还需要添加按钮来控制弹出窗口。

QInput 文本区域



QEditor



验证

QPopupEdit 还允许对输入进行简单的验证。要使用它,您需要向它提供一个回调函数,该函数的形式为箭头函数,它应该返回一个布尔值。 (value) => Boolean。这 **在下面的“卡路里”列中进行了演示**。

提示 1

请注意,我们正在使用 hide 事件来重新验证输入。如果我们不这样做,QInput 的 error 属性将停留在无效状态。

提示 2

在此示例中,我们正在使用 QInput 的外部错误处理。我们也可以使用 QInput 的 validation 属性并将值发出到 QPopupEdit 的 validation 属性。使用 Vuelidate 时也可以实现相同的概念。换句话说,提供给 QPopupEdit 的 validate 函数的值可以来自任何地方。

使用验证进行编辑