最近在开发过程中遇到一个问题。在节点上面写点击事件时,点击事件不执行。代码如下:
!-- 操作 -- el-table-column label="操作" template slot-scope="scope" span @click='scope.row.edit=!scope.row.edit' svg-icon :icon-class="scope.row.edit 'icon_edit_outline':'icon_save'" /svg-icon /span span svg-icon icon- /svg-icon /span /template /el-table-column !-- 操作 --
这里面的click事件一直不执行,一开始以为是点击事件没写对一直在找原因,后面突然想到会不会是数据不同步的原因的,因为edit字段是自己添加进去的字段,如下:
export default { name: 'strategic', data() { return { tableData: [{ 'pp_id': 4, 'brand_name': '1414', 'project_name': '得意', 'description': '的u会回来会', 'publish_time': '', 'is_used': 0 components: { }, computed: { created() { this.initTableData() methods: { initTableData() { this.tableData.forEach(element = { element.edit = false
之后我直接在数据里面加上edit字段,发现是能够同步数据的,代码如下:
data() { return { tableData: [{ 'pp_id': 4, 'brand_name': '1414', 'project_name': '1414', 'description': '', 'publish_time': '', 'is_used': 0, 'edit': false
原来是在我们使用vue进行开发,当生成vue示例后,再次给数据赋值时,有时候并不能自动更新到数据上去,这时候我们就要通过$set来解决这个问题,解决代码如下:
initTableData() { this.tableData.forEach(element = { this.$set(element, 'edit', false)
至此就解决啦。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。