【问题标题】:How to use v-show with dynamic element in Vuejs如何在 Vuejs 中使用带有动态元素的 v-show
【发布时间】:2020-03-09 03:55:00
【问题描述】:

我有一个动态表格渲染,其中表格的列和行是动态渲染的。

所以在这里我在每一行中有两个兄弟<td> 元素:

<td :key="`td3-${index}`" :id="`show_${key}`" v-show="`show_${key}`">
  <input type="text" :v-model="key" :name="key" :value="entry[key]" />
</td>
<td :key="`td4-${index}`">
  <a href="#" @click="showField(key)">Edit</a>
</td>

在第二个&lt;td&gt; 链接的onclick 事件中,我必须显示和隐藏第一个&lt;td&gt; 元素。由于它是动态的,我将有多行。因此,我在我的数据中声明了一个动态布尔值,以根据点击同一行中的另一个 &lt;td&gt; 来显示和隐藏特定的 &lt;td&gt;

v-show="`show_${key}`" - 这是带有动态键的显示属性

  show_firstname: false,
  show_lastname: false,
  show_email: false,
  show_orgname: false

我为每行中的每个 &lt;td&gt; 创建了单独的布尔元素。

但是,每当我通过单击第二个 &lt;td&gt; 元素来更改 v-show 属性的值时,它都没有任何区别。所以我无法显示或隐藏&lt;td&gt;。也许v-show"`show_${key}`" 作为字符串值,不能正确替换true 或false。有人可以帮助我如何实现这一目标吗?

【问题讨论】:

    标签: vue.js vuex


    【解决方案1】:

    您为什么不尝试将 show_ 组织在一个对象中而不是一个平面属性列表中?

    https://codesandbox.io/embed/vue-template-csncc?fontsize=14&hidenavigation=1&theme=dark

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-18
      • 2018-01-15
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多