表单输入绑定
在处理表单时,我们常常需要将表单输入框的内容同步给 Python 中相应的变量。手动连接值绑定和更改事件监听器可能会很麻烦:
template
<Input
:value="text"
@input="event => text = event.target.value">
</Input>v-model 指令帮我们简化了这一步骤:
注意
Input 是 ipywui 提供的输入组件, 原生的 input 元素当前并不支持。
template
<Input v-model="text"></Input>另外,v-model 还可以用于各种不同类型的输入,<Dropdown>、<Select> 组件。它会根据所使用的元素自动使用对应的 DOM 属性和事件组合:
- 文本类型的
<Input>组件会绑定valueproperty 并侦听input事件; <Select>会绑定valueproperty 并侦听change事件。
基本用法
文本
template
<p>Message is: {{ message }}</p>
<Input v-model="message" placeholder="edit me" /></Input>Message is:
多行文本
template
<span>Multiline message is:</span>
<p style="white-space: pre-line;">{{ message }}</p>
<Input v-model="message"
placeholder="add multiple lines"
type='textarea'>
</Input>Multiline message is:
组件上的 v-model
如果你还不熟悉 Vue.py 的组件,那么现在可以跳过这个部分。
HTML 的内置表单输入类型并不总能满足所有需求。幸运的是,我们可以使用 Vue.py 构建具有自定义行为的可复用输入组件,并且这些输入组件也支持 v-model!要了解更多关于此的内容,请在组件指引中阅读配合 v-model 使用。