Nik*_*yas 1 html vue.js vuejs2 vuetify.js
我试图隐藏弹出对话框中的文本字段,以重新利用相同的组件进行编辑和删除功能。基本上我正在操纵对话框的标题,但对于删除功能,我希望用户只看到标题。但我在 Vuetify 上找不到任何隐藏所有文本字段的选项。
超文本标记语言
<v-text-field
v-model="entryData[item]"
:label="getLabel(item)"
:disabled="setDisable(item)">
</v-text-field>
Run Code Online (Sandbox Code Playgroud)
设置禁用功能
setDisable (colName) {
return this.entryState === 'read' || colName.toLowerCase().indexOf('id') !== -1;
},
Run Code Online (Sandbox Code Playgroud)
就像禁用一样,是否有任何可见性选项?
您可以使用v-if
<v-text-field
v-model="entryData[item]"
:label="getLabel(item)"
v-if="setDisable(item)">
</v-text-field>
Run Code Online (Sandbox Code Playgroud)
或者v-show
<v-text-field
v-model="entryData[item]"
:label="getLabel(item)"
v-show="setDisable(item)">
</v-text-field>
Run Code Online (Sandbox Code Playgroud)
两者之间的区别在于,v-if隐藏组件不会添加到 DOM 中,而是v-show会添加组件,但使用样式将其设置为隐藏。
顺便说一句,正如前面的问题中提到的,尽量避免调用模板中的函数。这将每次触发整个树的重新渲染,因为函数响应不会被缓存。将这些值存储在计算中通常是正确的方法。您可以在对象中存储多个属性,并且您已经拥有了entryData,因此您可以调整以包含其他参数。
| 归档时间: |
|
| 查看次数: |
22491 次 |
| 最近记录: |